SAP Spartacus StoreFeatureModule
和StoreFeatureModule相關的一個錯誤消息:
main.ts:12 NullInjectorError: R3InjectorError(AppModule)[StoreFeatureModule -> ReducerManager -> ReducerManager -> ReducerManager]:
NullInjectorError: No provider for ReducerManager!
at NullInjector.get (http://localhost:4200/vendor.js:62758:27)
at R3Injector.get (http://localhost:4200/vendor.js:76765:33)
at R3Injector.get (http://localhost:4200/vendor.js:76765:33)
at R3Injector.get (http://localhost:4200/vendor.js:76765:33)
at injectInjectorOnly (http://localhost:4200/vendor.js:62613:33)
at Module.??inject (http://localhost:4200/vendor.js:62623:57)
at Object.StoreFeatureModule_Factory [as factory] (http://localhost:4200/vendor.js:139469:380)
at R3Injector.hydrate (http://localhost:4200/vendor.js:77003:63)
at R3Injector.get (http://localhost:4200/vendor.js:76753:33)
at http://localhost:4200/vendor.js:76799:25
實例化StoreFeatureModule token:
使用factory構建token value:
取reducerManager:
報錯:
恢復這行被注釋掉的代碼之后:
看看StoreModule.forRoot的實現源代碼:
class StoreModule {/*** @param {?} reducers* @param {?=} config* @return {?}*/static forRoot(reducers, config = {}) {return {ngModule: StoreRootModule,providers: [{provide: _ROOT_STORE_GUARD,useFactory: _provideForRootGuard,deps: [[Store, new Optional(), new SkipSelf()]],},{ provide: _INITIAL_STATE, useValue: config.initialState },{provide: INITIAL_STATE,useFactory: _initialStateFactory,deps: [_INITIAL_STATE],},{ provide: _INITIAL_REDUCERS, useValue: reducers },{provide: _STORE_REDUCERS,useExisting: reducers instanceof InjectionToken ? reducers : _INITIAL_REDUCERS,},{provide: INITIAL_REDUCERS,deps: [Injector, _INITIAL_REDUCERS, [new Inject(_STORE_REDUCERS)]],useFactory: _createStoreReducers,},{provide: USER_PROVIDED_META_REDUCERS,useValue: config.metaReducers ? config.metaReducers : [],},{provide: _RESOLVED_META_REDUCERS,deps: [META_REDUCERS, USER_PROVIDED_META_REDUCERS],useFactory: _concatMetaReducers,},{provide: _REDUCER_FACTORY,useValue: config.reducerFactory? config.reducerFactory: combineReducers,},{provide: REDUCER_FACTORY,deps: [_REDUCER_FACTORY, _RESOLVED_META_REDUCERS],useFactory: createReducerFactory,},ACTIONS_SUBJECT_PROVIDERS,REDUCER_MANAGER_PROVIDERS,SCANNED_ACTIONS_SUBJECT_PROVIDERS,STATE_PROVIDERS,STORE_PROVIDERS,provideRuntimeChecks(config.runtimeChecks),],};}這里就提供了之前報錯信息里缺失的reducer:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP Spartacus StoreFeatureModule的全部內容,希望文章能夠幫你解決所遇到的問題。