【发布时间】:2014-01-28 06:13:59
【问题描述】:
当我尝试在 Sails.js 的 config/server.js 文件中进行配置更改时,我发现自己无法访问 NODE_ENV 变量。我想配置 express 属性的 serverOptions 标志并绑定 ssl 证书 - 但仅用于生产。
假设我使用 node app.js --prod 启动服务器
这不起作用:
module.exports = { ... };
console.log(process.env.NODE_ENV); // undefined
但这确实有效:
module.exports = { ... };
setTimeout(function () {
console.log(process.env.NODE_ENV); // production
}, 1000);
基本上我想做的就是:
module.exports = (function () {
var env = process.env.NODE_ENV,
ret = { express: {} };
if (env == 'production') {
ret.express.serverOptions = { key: ..., cert: ... };
}
return ret;
}());
我看到过类似的答案,例如 https://stackoverflow.com/a/21152780/986408,但我不明白它们应该如何工作,而我的却没有。
【问题讨论】: