我正在使用InjectionToken进行配置注入。 这个:
configuration.injection-keys.ts
export const CONFIG_INJECTION_KEYS_CORE = {
offlineproducts: new InjectionToken<OfflineProductsConfig>('core.offlineproducts')
};
somemodule.ts
@NgModule({
imports: [],
providers: [
{
provide: CONFIG_INJECTION_KEYS_CORE.offlineproducts,
useValue: CORE_CONFIGURATION.offlineProducts
}
],
})
引发以下错误
ERROR in Error: Internal error: unknown identifier {"offlineproducts":{"filePath":"D:/angular/src/app/modules/configuration/configuration.injection-keys.ts","name":"CONFIG_INJECTION_KEYS_CORE","members":[]}}
但这不是
configuration.injection-keys.ts
export const CONFIG_INJECTION_KEYS_CORE_OFFLINE_PRODUCTS =
new InjectionToken<OfflineProductsConfig>('core.offlineproducts');
somemodule.ts
@NgModule({
imports: [],
providers: [
{
provide: CONFIG_INJECTION_KEYS_CORE_OFFLINE_PRODUCTS,
useValue: CORE_CONFIGURATION.offlineProducts
}
],
})
我希望将注入键构造在一个对象中。随着它的增长使其更易于管理。
更新:
ng build
(或ng serve
)不会发生此错误,而ng build --prod
会发生。我仔细检查了与启用生产相关的所有代码部分,它们都没有影响。将CONFIG_INJECTION_KEYS_CORE移至模块以将其保存在同一文件中没有什么区别。