环境变量


环境变量不属于 Node.js 的知识范畴,只不过我们在开发 Node.js 应用时经常与环境变量打交道,所以这里简单介绍下。

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。在 Mac 和 Linux 的终端直接输入 env,会列出当前的环境变量,如:USER=xxx。简单来讲,环境变量就是传递参数给运行程序的。

在 Node.js 中,我们经常这么用:

NODE_ENV=test node app

通过以上命令启动程序,指定当前环境变量 NODE_ENV 的值为 test,那么在 app.js 中可通过 process.env 来获取环境变量:

console.log(process.env.NODE_ENV) //test

另一个常见的例子是使用 debug : https://www.npmjs.com/package/debug 模块时:

DEBUG=* node app

Windows 用户需要首先设置环境变量,然后再执行程序:

set DEBUG=*
set NODE_ENV=test
node app

或者使用 cross-env : https://www.npmjs.com/package/cross-env

npm i cross-env -g

使用方式:

cross-env NODE_ENV=test node app