源代码
https://gist.github.com/joecritch/3ef1a1ffc8c281eb74be
问题
我有一个JavaScript架构。我编写了一个CommonJS模块,但它与内部配置对象紧密耦合(参见var config
)。 我想抽象这个配置,以便模块可以在其他环境/项目中重复使用。
背景
该模块用于API通信,即目前只是用户身份验证。它是基于令牌的,我会跟踪令牌到期,允许所有状态都是客户端。 EventEmitter和AppDispatcher的原因是因为它基于Facebook的“flux”架构。
-
任何关于此的指示都会很棒。我考虑过依赖注入,但我不太明白这是如何应用的?
答案 0 :(得分:1)
有很多库可以管理配置,但我更喜欢保持简单:
<强>配置/ index.js 强>
var config = {
facebook: {
key: 'foo',
secret: 'bar'
}
}
try {
require('./' + (process.env.NODE_ENV || 'development'))(config)
} catch (e) {
}
module.exports = config
<强>配置/ production.js 强>
var configure = function(config) {
config.facebook.secret = 'super secret'
}
module.exports = configure
<强> app.js 强>
var config = require('./config')