node里面NODE_ENV有什么用

mdl可以用来设置环境变量(默认值为development)。
一般我们通过检查这个值来分别对开发环境和生产环境下做不同的处理。可以在命令行中通过下面的方式设置这个值:

1
2
linux & mac: export NODE_ENV=production
windows: set NODE_ENV=production

demo如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//package.json
{
"name": "npmtest",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "better-npm-run start"
},
"betterScripts": {
"start": {
"command": "node app.js",
"env": {
"NODE_ENV": "dev"
}
}
},
"author": "",
"license": "ISC"
}
1
2
3
4
5
6
7
//app.js
if (process.env.NODE_ENV === 'product') {
// just for production code
console.log('production');
}else{
console.log('dev');
}