1.在node中,有全局变量process表示的是当前的node进程
NODE_ENV是一个由node.js暴露给执行脚本的系统环境变量,通常用于确定在开发环境还是生产环境下,服务器工具,构建脚本和客户端library的行为,
NODE_ENV 会赋值给process.evn对象,作为他的属性
process.evn.NODE_EVN 其值为“production(生产环境)”和“development(开发环境)”,或者“prod”和“dev”,
if(process.evn.NODE_EVN =="production"){
生产环境 do something
}else {
开发环境 do something
}
2.在webpack构建前端工程时,会经常使用,属性什么时候赋值给process.env的呢
以webpack的工程为例,通常是运行脚本的时候来做这件事,例如package.json中的脚本为例:
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"test": "npm run unit && npm run e2e",
"build": "node build/build.js"
},
3.注意,说明
NODE_ENV=development在windows环境下,会报错,需要修改为 set NODE_ENV=production,为了解决这个差异,可以使用cross-evn 跨平台的设置和使用环境变量,这里就不解释具体使用方法