首页 > 解决方案 > Angular / Ivy 错误:错误:Token InjectionToken XXXXXXXXX 缺少 ɵprov 定义

问题描述

更新到 Angular 9 / Ivy 编译器后出现错误

ERROR Error: Token InjectionToken XXXXXXXXX is missing a ɵprov definition.
    at injectableDefOrInjectorDefFactory (vendor.js:47105)
    at providerToFactory (vendor.js:47210)
    at resolveProvider$1 (vendor.js:56430)

标签: angularangular-ivy

解决方案


如果您尝试使用undefined或显式覆盖继承的可注射,则可能会发生这种情况null

在 Angular 8 中,这没问题

    {
        provide: AMBIENT_CART,
        useExisting: undefined
    }

对于 Angular 9,它需要更改为

    {
        provide: AMBIENT_CART,
        useValue: undefined
    }

如果您好奇:就我而言,出于安全原因,我这样做是为了确保我没有错误地使用这种特殊的注射剂。


推荐阅读