You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 18升级19后APP_INITIALIZER迁移出现NG0203错误求助

解决Angular 19升级后APP_INITIALIZER的NG0203错误

错误原因是你直接执行了initializeApp1(inject(AuthService)),inject()被调用在Angular注入上下文之外(模块配置阶段不属于注入上下文),因此触发NG0203报错。

你可以用以下两种方式修正代码:

方式一:用工厂函数包裹注入逻辑

providers: [
  provideAppInitializer(() => {
    const authService = inject(AuthService);
    return initializeApp1(authService);
  })
]

这种方式把inject()放在provideAppInitializer接收的工厂函数内部,Angular会在注入上下文里执行这个函数,确保inject()调用合法。

方式二:保留依赖声明数组

如果initializeApp1本身是一个接收AuthService作为参数的工厂函数,也可以直接指定依赖数组,和旧写法逻辑一致:

providers: [
  provideAppInitializer(initializeApp1, { deps: [AuthService] })
]

内容的提问来源于stack exchange,提问作者Igor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 05:05:54