我正在将2010年的RoR应用程序迁移到Sails.js。从表面上看,Sails.js似乎是将应用程序迁移到Node.js平台的最佳框架。在这个过程中,我遇到了一个限制--它似乎只适合通过local.js和生产环境来满足开发环境。
在RoR下,配置下有一个环境文件夹,其中包含开发、测试、暂存、生产等红宝石文件,其中包含为该环境定义的常量、日志记录级别等。我正在Sails.js下寻找相同结构的示例。
谢谢,
_K
发布于 2014-01-16 03:23:38
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环境变量,就可以了。
https://stackoverflow.com/questions/21102052
复制相似问题