在 package.json 中设置 process.env 变量
Setting process.env var in package.json
我正在尝试使用 package.json 设置和检索节点应用程序 process.env 变量,因此通过研究这个问题,我找到了一个示例来设置/检索 process.env 通过'config' 部分,所以我添加了一个新的配置部分,如下所示:
"config" : { "var1" : "test", "var2" : "test2", "var3" : "test3" },
但我无法从 server.js 访问上述任何变量,例如:
console.log(process.env.npm_package_config_var1);
所以我想知道如何使用 package.json 设置/检索 process.env 变量?谢谢
*我正在使用 npm 4.4.1,节点 7.4.0,我 运行 应用程序使用 (npm 运行 dev)
我不太明白,你想做什么
但是如果你想检索 env 变量,你必须像这样在你的 package.json
中定义你的开发脚本:NODE_ENV=dev node index.js
然后获取您的环境:process.env.NODE_ENV
您不能只在 package.json 中设置环境变量。
您可以使用以下方式在脚本部分设置它们:
"scripts": {
"start": "ENV_VAR=abc node app.js",
},
或:
"scripts": {
"start": "cross-env ENV_VAR=abc node app.js",
},
使用跨环境模块。参见:
环境变量是您的程序在运行时获取的东西,而不是存储在配置中的东西 - 除非您使用类似 dotenv 的东西,请参阅:
但这是使用 .env
文件,而不是 package.json。
You cannot just set environment variables in package.json.
您可以尝试 node -p process.env
作为您的 npm 脚本来检查您的环境变量。并确保没有其他东西会覆盖您的价值观。这是另一个对我有用的 example。
这仅在您使用 npm 启动应用程序时有效:
还有:
"scripts": {
"start": "node server.js"
},
"config" : { "var1" : "test", "var2" : "test2", "var3" : "test3" }
然后:
npm run start
在 server.js 内,这将正确显示变量:
console.log(process.env.npm_package_config_var1);
我正在尝试使用 package.json 设置和检索节点应用程序 process.env 变量,因此通过研究这个问题,我找到了一个示例来设置/检索 process.env 通过'config' 部分,所以我添加了一个新的配置部分,如下所示:
"config" : { "var1" : "test", "var2" : "test2", "var3" : "test3" },
但我无法从 server.js 访问上述任何变量,例如:
console.log(process.env.npm_package_config_var1);
所以我想知道如何使用 package.json 设置/检索 process.env 变量?谢谢
*我正在使用 npm 4.4.1,节点 7.4.0,我 运行 应用程序使用 (npm 运行 dev)
我不太明白,你想做什么
但是如果你想检索 env 变量,你必须像这样在你的 package.json
中定义你的开发脚本:NODE_ENV=dev node index.js
然后获取您的环境:process.env.NODE_ENV
您不能只在 package.json 中设置环境变量。
您可以使用以下方式在脚本部分设置它们:
"scripts": {
"start": "ENV_VAR=abc node app.js",
},
或:
"scripts": {
"start": "cross-env ENV_VAR=abc node app.js",
},
使用跨环境模块。参见:
环境变量是您的程序在运行时获取的东西,而不是存储在配置中的东西 - 除非您使用类似 dotenv 的东西,请参阅:
但这是使用 .env
文件,而不是 package.json。
You cannot just set environment variables in package.json.
您可以尝试 node -p process.env
作为您的 npm 脚本来检查您的环境变量。并确保没有其他东西会覆盖您的价值观。这是另一个对我有用的 example。
这仅在您使用 npm 启动应用程序时有效:
还有:
"scripts": {
"start": "node server.js"
},
"config" : { "var1" : "test", "var2" : "test2", "var3" : "test3" }
然后:
npm run start
在 server.js 内,这将正确显示变量:
console.log(process.env.npm_package_config_var1);