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监听代码更改自动重启服务器。
参考资料: