阅读 1338

Node-区分环境

Node-区分环境

程序在不同环境发生改变时,需求也会发生变化。比如开发环境有详细的调试日志,开发环境只需精简日志。不同环境也会存在不同的配置,比如开发环境和生产环境数据库并不一致。所以,项目是很需要区分不同的环境。

通过环境变量来区分环境

1.安装cross-env

npm i --save cross-env
复制代码

2.定义npm运行脚本

package.json

"scripts": {
    "start:dev": "cross-env NODE_ENV=development node index",
    "start": "cross-env NODE_ENV=production node index"
},

复制代码

3.通过process.env获取环境变量

获取环境变量,区分生产环境:

if (process.env.NODE_ENV === 'production') {
    console.log('生产环境');
}

if (process.env.NODE_ENV === 'development') {
    console.log('开发环境');
}
复制代码

4.在不同环境下运行对应的npm脚本

start:dev对应开发环境,start对应生产环境

NODE_ENV是环境变量名称,出自于express框架,其他框架也照搬了这一套,算是约定俗成。一般有development、 stage、 test 和 production

cross-env是为了统一不同系统设置环境变量的方式

设置环境变量
Windows:
$ set NODE_ENV=production
$ node app
UNIX下:
$ NODE_ENV=production node app
复制代码

延伸

通过process.envcross-env还可以设置其他环境变量,比如说:端口PROTVUE_ENV区分客户端、服务端。

参考

api process

node实战第二版

cross-env

文章分类
前端
文章标签