【问题标题】:Sails.js -- Accessing local.js environment settings in controllersSails.js -- 访问控制器中的 local.js 环境设置
【发布时间】:2014-02-12 23:51:14
【问题描述】:

生产中,我将 AWS 凭证存储为 heroku 配置变量。

开发中,我想在 config/local.js 中包含配置详细信息,但是如何在控制器中访问配置详细信息?

local.js 包含:

module.exports = { aws_key: "...", aws_secret: "..." }

在我的控制器中,我尝试了aws_keyconfig.aws_key 和其他方法 - 但没有运气。是否有一个主应用程序命名空间可用于限定 local.js 导出的属性?

我是航海新手,我觉得这应该是直截了当的 - 任何帮助将不胜感激。

【问题讨论】:

    标签: javascript node.js sails.js


    【解决方案1】:

    找到解决方案。第 3 步是我遇到问题的地方。

    tl;博士

    我没有意识到module.exports.thing 使thing 对象可通过sails.config.thing 获得。很高兴知道。


    1) 我在 config/aws.js 中创建了一个包含内容的新文件

    // Get heroku config values     
    module.exports.aws = {
      key: process.env.AWS_KEY,
      secret: process.env.AWS_SECRET
    }
    

    2) 在 local.js 中放入实际的 AWS 凭据(这不会在存储库中结束,因为sails 使用 gitignore 自动忽略 local.js)。

    aws: {
      key: actual-key,
      secret: actual-secret
    }
    

    这允许在我们无法访问 heroku 配置设置的地方进行本地测试,同时保护这些值不被暴露在 github 存储库中。

    3) 现在,在控制器中访问:

    var aws_config = sails.config.aws;
    
    AWS.config.update({
      accessKeyId: aws_config.key,
      secretAccessKey: aws_config.secret
    });
    

    【讨论】:

    • 这里我们如何为不同的环境(如开发/生产)使用不同的配置。
    猜你喜欢
    • 2013-12-20
    • 2014-01-11
    • 2012-04-23
    • 2017-09-18
    • 2016-02-17
    • 2015-12-18
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    相关资源
    最近更新 更多