我有一个使用Lerna管理的monorepo。我需要使用多个环境变量来启动Web服务器。我启动服务器的npm脚本是:
"scripts": {
"dev:start": "lerna run --parallel dev:start"
}
我还试图使用dotenv
包来加载.env
文件的环境变量。由于dotenv
纯粹是用于设置 env vars 的开发助手,因此我将其安装为顶部devDependency
中的package.json
。 dotenv
利用node.js预加载脚本,例如:node -r dotenv/config server_script.js
。
但是使用Lerna,我无法再调用预加载脚本。有什么方法可以将dotenv
与lerna
一起使用?或者,如何使用lerna运行预加载脚本?
答案 0 :(得分:0)
但是使用Lerna,我无法再调用预加载脚本
那不是事实。 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