项目做完后,需要再生产机上部署,大部分的时候部署的时候,需要运维人员修改程序名字,接口端口地址以及其他一些个性配置项。
如果这个时候交运维人员修改源码总感觉不合适虽然有config.js等的配置文件,但毕竟在源码包里。难免会被误操作覆盖。
这个时候用到环境变量。屁话不说 上码!
新建BAT文件run.bat在项目根目录
SET appname=程序名称 SET PORT=8081 SET mode=build node ./bin/www
这里设置了 程序名,端口号,和开发模式,那么程序里怎么读取这些变量呢。express帮我们想到了。
全局变量process里将包含这些参数,而我们只需要这么做:
exports.config = { 'appname':process.env.appname|| 'SinopecMaster', 'mode':process.env.mode|| 'dev' }
咦!为什么没有PORT端口号呢?因为express默认配置在bin\www里啦。打开后可以看到
var port = normalizePort(process.env.PORT || '3000');
最后双击run.bat就可以啦~