Sails.js - 访问控制器中的local.js环境设置

时间:2014-01-22 18:33:35

标签: javascript node.js sails.js

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

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

local.js包含:

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

在我的控制器中,我尝试了aws_keyconfig.aws_key和其他人 - 但没有运气。是否有一个主应用程序命名空间,我可以用它来调整范围到local.js导出的属性?

我是帆船的新手,我觉得这应该是直截了当的 - 任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:33)

找到解决方案。第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信用卡(由于风帆会自动使用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
});