在NPM脚本执行期间从单独文件中加载的变量

时间:2019-04-02 19:42:44

标签: node.js npm environment-variables

我在NPM模块的根目录下定义了一个环境变量文件(.env,如下所示:

FOO=bar
BAZ=zoo

我希望在运行模块的package.json脚本时使这些变量可用。

这是我的package.json的尝试:

{
  ...
  "scripts": {
    "foo": "source ./.env && echo $FOO"
  }
  ...
}

但是,当我运行npm run foo时,出现此错误:

sh: 1: source: not found

在这种情况下如何使$FOO可用?

最好使用跨OS解决方案,但目前我正在Ubuntu上运行。

1 个答案:

答案 0 :(得分:1)

我认为NPM没有内置的功能,但是您可以使用最少的导出命令为所有脚本添加前缀:

{
  "scripts": {
    "foo": "export $(cat .env | xargs) && echo $FOO"
  }
}