如何在节点js中设置和获取环境变量?

时间:2019-04-23 07:47:34

标签: javascript node.js

我正在尝试在节点js中设置和获取环境变量。 我创建了test.js文件 并添加此行

console.log(process.env.NODE_ENV);

像这样运行

 set NODE_ENV=production&&node test.js

它给了我未定义的

3 个答案:

答案 0 :(得分:2)

NODE_ENV=production node test.js在Linux上,$env:NODE_ENV = 'production'; node test.js在Powershell中。

答案 1 :(得分:0)

1. create a package.json file.
2. install the dotenv npm package

make a .env file in your root directory. 
//env 
NODE_ENV=development
PORT=8626
# Set your database/API connection information here
API_KEY=**************************
API_URL=**************************

现在,如果您想在任何文件或server.js中调用端口,它将像这样。

const port = process.env.PORT;
console.log(`Your port is ${port}`);

答案 2 :(得分:0)

除了可接受的答案:

来自nodejs文档

  

可以修改此对象,但此类修改不会反映在Node.js进程之外。

因此,您还可以执行以下操作:

process.env.foo = 'bar';
console.log(process.env.foo);
  

在process.env上分配属性会将该值隐式转换为字符串。

process.env.test = null;
console.log(process.env.test);
// => 'null'

注意:有些env变量只能在执行任何代码之前进行设置。

还请注意:

  

在Windows操作系统上,环境变量不区分大小写。

process.env.TEST = 1;
console.log(process.env.test);
// => 1