Node如何设置其环境变量?

时间:2017-08-28 12:38:28

标签: javascript node.js

运行Node应用程序时,Node如何知道它运行的环境?

我理解环境是在process.env.NODE_ENV内定义的,但该变量的定义方式和位置是什么?

3 个答案:

答案 0 :(得分:1)

有多种设置节点变量的方法,但最常见的是

<强> 1。是启动它们的控制台,如下所示:

> NODE_ENV=prod node start.js
process.env.NODE_ENV // prod

但有时您可以在文件开头之前显式设置env:

process.env.NODE_ENV = 'test';
require('config') // then it will return me the test.json config

// I use this technique mostly for unit tests

<强> 2。导出package.json

中的envars
  "scripts": {
    "start": "export NODE_ENV=dev && node server.js", // for linux
    "start": "set NODE_ENV=dev && node server", // for windows
    "test": "mocha"
  },

当您运行npm start时,脚本将以dev模式

运行服务器

第3。使用npm包作为dotenv并设置.env文件

env管理的插件为dotenv最常用的插件。您可以使用所需的ENV变量创建.env文件

DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3

答案 1 :(得分:0)

这些通常在package.json命令中设置,或来自.env文件。

例如,可以在NODE_ENV=development中访问.env文件中的process.env.NODE_ENV

要将.env个文件加载到process.env,请查看dotenv

答案 2 :(得分:0)

除非您定义变量,否则不定义变量 我猜你使用的是普通的Windows机器 在Windows上,您可以简单地执行此操作。 创建一个随机索引文件并将其放入其中:console.log(process.env.NODE_ENV) 然后使用:set NODE_ENV=productionEnvironment && node index

运行它