的SailsJS人会告诉你,最好的做法是创建和部署的每个环境local.js文件,并保持它未跟踪您的回购协议。
但是,如果您的项目处于私人回购并且您很愿意在那里保留敏感信息,则可以使用process.env.NODE_ENV
编写条件。例如,这里是你如何会在adapters.js
文件中定义不同的环境不同的适配器:
var production = {
'default': 'mongo',
mongo: {
module: 'sails-mongo',
url: "mongodb://[user]:[password]@[host]:[port]/[db-name]",
schema: true
}
};
var staging = {
'default': 'mongo',
mongo: {
module: 'sails-mongo',
url: "mongodb://[user]:[password]@[host]:[port]/[db-name]",
schema: true
}
};
var development = {
'default': 'disk',
disk: {
module: 'sails-disk'
}
};
var setAdapter = function() {
var env = process.env.NODE_ENV;
if (env === 'production') {
return production;
} else if (env === 'staging') {
return staging;
} else {
return development;
}
};
var adapters = setAdapter();
module.exports.adapters = adapters;
只要确保你设置NODE_ENV
环境变量在服务器上,你是好去。
来源
2014-01-16 03:23:38
Jon
谢谢乔恩。一旦我确认,我会给它一个旋转并接受它。我知道,从事最尖端的工作需要创造性思维,这可能是现在最好的解决方案。 – kkotak
好的。检查出来,像魅力一样工作!我最终创建了constants.js中引用的environment.js,该文件随后用于引用常量。干杯。很抱歉,由于noob低业障,不能投票。 – kkotak