我知道我不应该直接在app.js文件中硬编码我的api密钥和mongo URL。我应该把它们放在哪里?我应该把它们放在一个名为config.js的文件中,然后作为模块导出,然后在我的app.js文件中要求它吗?最好的方法是什么,这样当我转到生产时,我就不必改变任何事情了?
在config.js
文件中,您可以执行类似的操作
module.exports = {
accessKeyId: process.env.SES_ACCESS_KEY_ID
}
现在通过在终端上使用以下命令将您的密钥放入environmentmt
export env.SES_ACCESS_KEY_ID='yourSecretKey'
现在使用设置做
var config = require('relativ/path/to/config.js');
someFunction(config.accessKeyId);
希望它能有所帮助:)
-
我会选择config模块。这是一个简单的lib,它根据
NODE_ENV
值加载正确的json
文件。例如,如果指定NODE_ENV=development npm start
,它将加载development.json
,依此类推 -
另一种可能性是:在项目文件夹之外的系统中定义一个文件夹,然后从那里加载
json
文件。例如,如果定义/etc/opt/my-project-configs/
,则会在本地系统和pre/pro服务器中创建该文件夹。您的代码不知道实际运行的是哪个环境,但会加载正确的配置文件。