在运行时未定义容器

时间:2019-04-22 18:40:52

标签: javascript node.js typescript dependency-injection inversifyjs

当我尝试执行getNamed()时,无法从逆容器获取实例。容器定义良好,打字稿没有抱怨,我可以看到导入的类型是“ Container”;但是,在运行时容器中未定义。

我要绑定UserRepo类,如下所示,并将容器导出为“注册表”

container.bind<Repository>('Repository').to(UserRepo).inSingletonScope().whenTargetNamed('User');
.
.
.
export { container as Registry };
import { Registry } from '../registry';
import { UserRepo } from '../repositories/userRepository';
const userRepo: UserRepo = Registry.getNamed('Repository', 'User'); // throws an error

我得到的错误是

uncaughtException: Cannot read property 'getNamed' of undefined
TypeError: Cannot read property 'getNamed' of undefined

我正在我的应用程序的根目录中为不同的类执行相同的代码,并且可以正常工作。谁能指出我在哪里犯错,那就太好了。

0 个答案:

没有答案