我应该将我的API密钥引用和env文件放在Node.js应用程序中的哪个位置?

时间:2016-04-03 09:37:55

标签: node.js mongodb express

我知道我不应该直接在我的app.js文件中对我的api密钥和我的mongo URL进行硬编码。我应该把它们放在哪里?我应该把它们放在一个名为config.js的文件中然后将其导出为模块,然后在我的app.js文件中要求它吗?最好的方法是什么,所以当我开始制作时,我不需要改变任何东西?

2 个答案:

答案 0 :(得分:1)

  • 我选择 config 模块。它是一个简单的lib,可根据您的 json 值加载正确的NODE_ENV文件。 例如,如果您指定NODE_ENV=development npm start,则会加载development.json,依此类推。

  • 另一种可能性:在代码之外的系统中定义一个文件夹,然后从那里加载json个文件。例如,如果您定义/etc/opt/my-project-configs/,则会在本地系统和 pre / pro 服务器中创建该文件夹。您的代码现在无法在哪个环境中运行,但会加载正确的配置文件。

答案 1 :(得分:0)

config.js文件中,您可以执行类似

的操作
module.exports = {
  accessKeyId: process.env.SES_ACCESS_KEY_ID
}

现在使用终端

上的以下命令将您的密钥放入environmemt
export env.SES_ACCESS_KEY_ID='yourSecretKey'

现在使用设置

var config = require('relativ/path/to/config.js');
someFunction(config.accessKeyId);

希望它有所帮助:)