环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数。会在程序运行时传递给应用程序。
NodeJS 获取环境变量,是通过 global 对象中的 process 进程对象获取的。
process.env.env_name //获取对应环境变量的值
环境变量在 NodeJS中的应用,常用于区分当前的环境是测试环境还是正式环境
if(process.env.NODE_ENV ===‘dev’){//测试环境
}else{//正式环境
}
也可以进一步的根据环境导出对应的参数配置(参数的导出完全在配置文件内部自己判断,自己消化)
# config.jsvar dev ={};var build ={};
module.exports= process.env.NODE_ENV === ’dev'? dev : build;
其次需要注意的是在package.json中直接为脚本(scripts)设置环境变量:
{'run': "NODE_ENV = \" DEV \""}
由于 script中的命令会在命令行工具中进行执行,但是不同的命令行工具,其差异性很大,而且不同的系统,其shell工具差异更大,所以跨平台的兼容性非常堪忧,基本上我们并不会直接使用上面的方式,而是通过一个NPM插件来解决:cross-env。
{'run': "cross-env NODE_ENV = \" DEV \""}
cross-env 的作用就