首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sails.js下设置不同的环境和相应的配置?

如何在sails.js下设置不同的环境和相应的配置?
EN

Stack Overflow用户
提问于 2014-01-13 21:49:19
回答 1查看 483关注 0票数 1

我正在将2010年的RoR应用程序迁移到Sails.js。从表面上看,Sails.js似乎是将应用程序迁移到Node.js平台的最佳框架。在这个过程中,我遇到了一个限制--它似乎只适合通过local.js和生产环境来满足开发环境。

在RoR下,配置下有一个环境文件夹,其中包含开发、测试、暂存、生产等红宝石文件,其中包含为该环境定义的常量、日志记录级别等。我正在Sails.js下寻找相同结构的示例。

谢谢,

_K

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-16 03:23:38

SailsJS人员将告诉您,最佳实践是为每个环境创建和部署一个local.js文件,并在回购中不跟踪它。

但是,如果您的项目处于私有回购中,并且您很容易将敏感信息保存在那里,则可以使用process.env.NODE_ENV编写条件项。例如,下面是如何为adapters.js文件中的不同环境定义不同的适配器:

代码语言:javascript
复制
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环境变量,就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21102052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档