process.env.SOME_KEY 未定义。

6

我该如何在操作系统中设置process.env.SOME_KEY=some value的值,并在我的node应用程序中读取它?我正在Windows上运行。

我尝试了以下步骤:


SET SOME_KEY=abc 
npm start  

但是当我尝试读取process.env.SOME_KEY时,我得到的是"undefined"。

我该如何设置环境变量并在我的代码中读取它?


你可以使用 cross-env - https://www.npmjs.com/package/cross-env - Faizuddin Mohammed
尝试这个命令:SOME_KEY=abc npm start - suraj.tripathi
我刚试过了,对我来说运行得很好。 有两件事可以尝试:(1) console.log(process.env) 将向您显示所有环境变量,以及(2) 在此处发布您的节点代码,以便我们可以准确地了解正在发生什么。 - Graham
5个回答

7
尝试这个:https://www.npmjs.com/package/dotenv 你只需要添加一个包含环境变量的 .env 文件,并且在你的应用程序中尽早调用 require('dotenv').config()(比如在 npm start 调用的脚本中)就可以了。

1
SOME_KEY=`${abc}` Fixed it for me.

0

npm模块cross-env就是为了这个目的而制作的。在所有操作系统中,设置环境变量的方式并不相同。cross-env可以解决这个问题。

另外,您也可以尝试使用dotenv,它通过一个.env文件来解决这个问题。

您还可以在非常基本的级别上执行此操作:

process.env.SOME_KEY = "somevalue";

0
将此代码添加到索引文件中。
require('dotenv').config({path: path.join(__dirname, '.env')});

0
const path = require('path');
require('dotenv').config( { path: path.join(__dirname, 'variables.env') });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接