javascript - Inversify 容器在运行时未定义
问题描述
当我尝试执行 getNamed() 时,无法从 inversify 容器中获取实例。容器定义好,打字稿没有报错,可以看到导入的类型是“Container”;但是,在运行时容器中是未定义的。
我正在绑定 UserRepo 类,如下所示,并将容器导出为“Registry”
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
我在我的应用程序的根目录中为不同的类执行相同的代码,它可以工作。如果有人能指出我在哪里犯了错误,那就太好了。
解决方案
推荐阅读
- node.js - prom-client 在 NodeJS 应用程序中为默认指标返回空对象
- office365 - 在 Office 365 Word 添加中单击功能区中的 2 个按钮时打开 2 个任务窗格
- ios - How to retry failed web service calls with time delay in ios app
- python - 尝试从 kubernetes 访问 boto3 时出现 503
- c++ - Visual Studio 中的链接器错误
- mongodb - 全文搜索 Fastify 与 Mongoose
- php - 如何隐藏导航栏链接选项并仅在用户登录 PHP 时显示该选项?
- git - git:使用 git-extensions 和 WinMerge 处理 gupta apl 文件(编码问题)
- c++ - Visual Studio 2019 无法识别 Qt 6.1.2 包名称
- html - 使用时选择保存图像的格式