EN
← 错误索引

F_SYSTEM_INVALID_PROVIDER

Provider 定义无效

Module.providers 中的 class 或显式 Provider 对象不符合 DI 注册规则。

更新于

复现

直接注册的 class 必须拥有自己的 @Injectable() 元数据:

src/app.module.ts
import { Module, createApp } from 'func'

class ProjectService {}

@Module({ providers: [ProjectService] })
class AppModule {}

createApp(AppModule)

如何修复

给 class 添加 @Injectable();继承自 injectable base 的子类也必须显式添加。Provider 对象必须提供有效 provide token,并且恰好使用 useClassuseValueuseFactory 一种策略。useClass 同样要求 injectable class,useFactory.inject 只能包含有效 tokens。

ContextArgs 是系统值,不能通过 Module Provider 或测试 override 替换;请使用 BootstrapOptionsInvoker.invokeTestingApp.invoke 提供对应调用环境。