SuperAPI AI 工具集

dependency-injection

通用与其它

查看项目

更新于 10-16 07:25

技能介绍

用途:面向 NestJS 依赖注入(DI)的技能资料,帮助开发者处理标准类提供者之外的自定义提供者,包括工厂提供者、异步初始化、值提供者、别名提供者及非类注入令牌。

主要能力:涵盖三步注册流程(@Injectable() 标记、构造器声明依赖、模块 providers 注册);值提供者 useValue 注入常量、配置或 mock;类提供者 useClass 按环境选择实现;工厂提供者 useFactory 动态创建并用 inject 声明依赖,支持返回 Promise 的异步初始化;useExisting 创建别名共享同一实例,用于接口式注入与向后兼容;字符串与 Symbol 令牌,建议用 Symbol 避免命名冲突;还涉及多提供者 multi、动态提供者、提供者导出与测试中替换提供者。

使用方式:用 @Injectable() 装饰类,在构造器中声明依赖,模块 providers 数组中用 { provide, useClass/useValue/useFactory/useExisting } 注册;非类令牌需用 @Inject('TOKEN') 注入,可选依赖用 @Optional() 或 inject 中的 { token, optional: true }。

适用场景:数据库连接等异步初始化、配置与常量注入、按环境或特性开关选择实现、测试 mock、多租户动态提供者、接口式依赖注入。

限制:资料未提供该技能的收费、价格、平台版本、安装命令或效果数据;示例中的代码与命令保持不变,具体项目配置需结合自身 NestJS 版本验证。