knox を使用して S3 バケットにファイルをアップロードする node.js アプリを構築しています。期待どおりに S3 とやり取りできますが、構成値を使用してクライアントを動的に構築できるように、構成を受け取るようにコントローラーを作成したいと考えています。
私の質問は、不注意にならずに構成パラメーターをコールスタックからコントローラーに取得するにはどうすればよいですか?
免責事項: 私は Node.js にかなり慣れていないため、エクスポートの違いに関する知識が不足している可能性があります。および module.exports.*
これは、私のコードで相互作用がどのように機能するかの例です。
app.js
...
config = require('./config/config')['env'];
require('./config/router')(app, config);
...
router.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?
...
}
home.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
}
...