首页 > 解决方案 > 如何将 lerna 与 dotenv 包一起使用?

问题描述

我有一个使用 Lerna 管理的 monorepo。我需要使用多个环境变量来启动我的 Web 服务器。我启动服务器的 npm 脚本是:

"scripts": {
    "dev:start": "lerna run --parallel dev:start"
}

我也在尝试使用dotenv包来加载.env文件的环境变量。因为,dotenv纯粹是设置env vars的开发助手,所以我将它安装为devDependencytop package.jsondotenv利用 node.js 预加载脚本,如:node -r dotenv/config server_script.js.

但是使用 Lerna,我不能再调用预加载脚本。有什么方法可以使用dotenvwithlerna吗?或者,如何使用 lerna 运行预加载脚本?

标签: node.jslernamonorepodotenv

解决方案


但是使用 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

推荐阅读