如何将 lerna 与 dotenv 包一起使用?
How to use lerna with dotenv package?
我有一个使用 Lerna 管理的 monorepo。我需要使用多个环境变量来启动我的网络服务器。我启动服务器的 npm 脚本是:
"scripts": {
"dev:start": "lerna run --parallel dev:start"
}
我也在尝试使用 dotenv
包为 .env
文件加载环境变量。由于 dotenv
纯粹是设置 env vars 的开发助手,我将其安装为 top package.json
的 devDependency
。 dotenv
利用 node.js 预加载脚本,例如:node -r dotenv/config server_script.js
.
但是使用 Lerna,我无法再调用预加载脚本。有什么方法可以将 dotenv
与 lerna
一起使用吗?或者,如何 运行 使用 lerna 预加载脚本?
But with Lerna, I can no longer invoke preload script
事实并非如此。 Lerna allows you 将参数传递给 npm 脚本。你只需要用一对双破折号传递它:
packages/ServerPkg/package.json:
"dev:start": "node foo.js"
package.json
"dev:start": "lerna run dev:start -- -- -r /path/to/dotenv"
应该执行:
node foo.js -r /path/to/dotenv
我有一个使用 Lerna 管理的 monorepo。我需要使用多个环境变量来启动我的网络服务器。我启动服务器的 npm 脚本是:
"scripts": {
"dev:start": "lerna run --parallel dev:start"
}
我也在尝试使用 dotenv
包为 .env
文件加载环境变量。由于 dotenv
纯粹是设置 env vars 的开发助手,我将其安装为 top package.json
的 devDependency
。 dotenv
利用 node.js 预加载脚本,例如:node -r dotenv/config server_script.js
.
但是使用 Lerna,我无法再调用预加载脚本。有什么方法可以将 dotenv
与 lerna
一起使用吗?或者,如何 运行 使用 lerna 预加载脚本?
But with Lerna, I can no longer invoke preload script
事实并非如此。 Lerna allows you 将参数传递给 npm 脚本。你只需要用一对双破折号传递它:
packages/ServerPkg/package.json:
"dev:start": "node foo.js"
package.json
"dev:start": "lerna run dev:start -- -- -r /path/to/dotenv"
应该执行:
node foo.js -r /path/to/dotenv