【发布时间】:2019-12-16 00:46:42
【问题描述】:
我在 typescript + NODE.js 应用程序中使用 inversifyJS。我针对不同的环境有不同的配置:
配置制作
const CONFIG_PRODUCTION: Object = {
PATH_TO_STATIC_FILES: '../web/build',
SECURE_COOKIE: false
};
export default CONFIG_PRODUCTION;
配置开发
const CONFIG_DEVELOPMENT: Object = {
PATH_TO_STATIC_FILES: 'build/web/build',
SECURE_COOKIE: true
};
export default CONFIG_DEVELOPMENT;
现在在我的推断容器配置中,我的设置如下所示:
反向配置
const dependencyContainer = new Container();
dependencyContainer.bind(TYPES.ENVIRONMENTAL_CONFIG).toDynamicValue(
(context: interfaces.Context) => context ? CONFIG_PRODUCTION : CONFIG_DEVELOPMENT);
...
export default dependencyContainer;
现在我可以在哪里决定如何加载所需的配置对象?在我的课堂上,我目前注入这样的属性:
快递文件
constructor(
@inject(TYPES.ENVIRONMENTAL_CONFIG) private config: Object
) {
...
console.log(config) // prints development config
}
inversify 是否提供类似setContext() 的功能?
【问题讨论】: