我正在构建一个 node.js 应用程序,它将使用 knox 将文件上传到我的 S3 存储桶。我能够按预期与 S3 交互,但我想让我的控制器接收配置,以便我可以使用配置值动态构建我的客户端。
我的问题是如何在不粗心的情况下从调用堆栈中获取配置参数到我的控制器?
免责声明:我对 Node.js 比较陌生,所以这可能只是我对导出之间的区别缺乏了解。和 module.exports.*
这是交互如何与我的代码一起工作的示例:
应用程序.js
...
config = require('./config/config')['env'];
require('./config/router')(app, config);
...
路由器.js
module.exports = function(app, config) {
...
var controller = require('../app/controllers/home'); //Is there a way for me to pass config here?
app.post('/upload', controller.upload); //Or here?
...
}
主页.js
var knox = require('knox');
var client = knox.createClient({ ... }); //I want to use config.key, config.secret, etc instead of hard-coded values
...
exports.upload = function(req, res) {
//Use client
}
...