node.js - 如何将 lerna 与 dotenv 包一起使用?
问题描述
我有一个使用 Lerna 管理的 monorepo。我需要使用多个环境变量来启动我的 Web 服务器。我启动服务器的 npm 脚本是:
"scripts": {
"dev:start": "lerna run --parallel dev:start"
}
我也在尝试使用dotenv
包来加载.env
文件的环境变量。因为,dotenv
纯粹是设置env vars的开发助手,所以我将它安装为devDependency
top package.json
。dotenv
利用 node.js 预加载脚本,如:node -r dotenv/config server_script.js
.
但是使用 Lerna,我不能再调用预加载脚本。有什么方法可以使用dotenv
withlerna
吗?或者,如何使用 lerna 运行预加载脚本?
解决方案
但是使用 Lerna,我不能再调用预加载脚本
这不是真的。Lerna允许您将参数传递给 npm 脚本。你只需要用一对双破折号传递它:
包/ServerPkg/package.json:
"dev:start": "node foo.js"
包.json
"dev:start": "lerna run dev:start -- -- -r /path/to/dotenv"
应该执行:
node foo.js -r /path/to/dotenv
推荐阅读
- android - Flutter:如何提高应用程序的性能?
- regex - 如何根据在线起始字符收集数据?
- neo4j - 在 cypher Neo4j 中使用 scrollid 从弹性重新加载数据?
- haskell - 如何在递归期间存储树?(霍夫曼解码)
- php - 在多个循环中将元素推送到同一个数组
- javascript - 协助使用 javascript 功能
- android - Expo android createAlbumAsync 不起作用
- c++ - 时钟程序超出限制
- c# - 使用用户上下文/用户令牌 C# 调用 Microsoft Graph API
- python - 如何修改 Range 函数中边界值的包含/排除行为?