process.env
process.env属性返回一个对象,包含了当前Shell的所有环境变量。
通常的做法是,新建一个环境变量NODE_ENV,用它确定当前所处的开发阶段,生产阶段设为production,开发阶段设为develop或staging,然后在脚本中读取process.env.NODE_ENV即可。
运行脚本时,改变环境变量,可以采用下面的写法。
$ export NODE_ENV=production && node app.js
我的例子:
var config = { dev:{ port:"4000", dir:\'./widget\' }, production:{ port:"4000", dir:\'/export/www/static/promote/widget\' } }; // 通过NODE_ENV来设置环境变量,如果没有指定则默认为开发环境 var env = process.env.NODE_ENV || \'dev\'; if (env == \'dev\') { module.exports = config.dev console.log(\'dev环境\'); } else if (env == \'production\') { module.exports = config.production; console.log(\'production环境\') } else { console.log("请注意,要传环境变量值,可选值:dev, production,反之默认为dev") }
上线好用的依赖pm2管理web服务进程,supervisor,nodemon监听代码更改自动重启服务器。
参考资料: