【问题标题】:sails.js - internal 'production' settings or configurationSails.js - 内部“生产”设置或配置
【发布时间】:2017-02-20 15:37:52
【问题描述】:

我目前运行具有多个生产环境的sails.js (0.12.3) 应用程序。我想使用一组/config/env(即/config/env/production-eu.js、/config/env/production-us.js)文件而不是/config/env/development.js & /config/ env/production.js 每个服务器都有一个手动管理的 local.js。 sails documentation 声明:

生产环境是特殊的——根据您的配置,它可以启用压缩、缓存、缩小等。

我知道“生产”在运行 rails 应用程序时意味着什么。我的问题是 - 如果不使用运行sails.js 的推荐“生产”环境名称,是否会丢失任何内部/自动设置/功能?

【问题讨论】:

    标签: javascript sails.js


    【解决方案1】:

    我的问题是 - 如果不使用运行sails.js 的推荐“生产”环境名称,是否会丢失任何内部/自动设置/功能?

    是的,设置为 production 的环境 (NODE_ENV) 具有特殊设置。 查看productionSailsExpress 中的使用


    要解决您的用例,请引入一个新的环境变量,例如 NODE_LOCALE

    NODE_LOCALE=us sails lift
    

    export NODE_LOCALE=us
    sails lift
    

    需要production.js 中的一个语言环境文件,具体取决于环境:

    var localeFile;
    switch(process.env.NODE_LOCALE) {
      case 'eu':
        localeFile = './production-eu';
        break;
      case 'us':
      default:
        localeFile = './production-us';
    }
    
    module.exports = require(localeFile);
    

    【讨论】:

    • 优秀的解决方案 - 即使它不是特定于语言环境的(这些只是示例)也很有用。谢谢!
    【解决方案2】:

    在我看来,“生产”环境是一种抽象,位于您的两个自定义之上。

    我认为更好的方法是使用 Node 环境变量作为默认生产配置的自定义。

    您可以使用dotenv 之类的工具将节点环境变量注入到您的sails 应用程序中,然后从您的通用生产配置文件中指向它们。

    【讨论】:

      猜你喜欢
      • 2014-03-14
      • 2019-04-06
      • 2017-08-18
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多