在package.json中设置process.env var

我正在尝试使用package.json设置和检索节点应用程序process.env vars,所以通过研究这个问题,我find了一个通过“configuration”部分设置/检索process.env的例子,所以我添加了一个新的configuration部分如下所示:

"config" : { "var1" : "test", "var2" : "test2", "var3" : "test3" }, 

但是我无法访问server.js中的任何上述variables,例如:

 console.log(process.env.npm_package_config_var1); 

所以我想知道如何使用package.json设置/检索process.env var? 谢谢

*我使用npm 4.4.1,节点7.4.0,并使用(npm run dev)运行应用程序

您不能只在package.json中设置环境variables。

您可以使用以下命令在脚本部分中设置它们:

 "scripts": { "start": "ENV_VAR=abc node app.js", }, 

要么:

  "scripts": { "start": "cross-env ENV_VAR=abc node app.js", }, 

使用cross-env模块。 看到:

环境variables是你的程序在运行时得到的东西,而不是存储在configuration中的东西 – 除非你使用类似dotenv的东西,参见:

但是这是使用.env文件,而不是package.json。

我真的不明白,你想做什么。

但是如果你想检索envvariables,你必须在你的package.json定义你的开发脚本,如下所示: NODE_ENV=dev node index.js

然后获取你的env: process.env.NODE_ENV