当前位置: 首页 > Web前端 > JavaScript

使用SAPSpartacus作为特性模块进行懒加载时遇到的注入错误分析

时间:2023-03-27 14:02:16 JavaScript

在使用SAPSpartacus作为特性模块进行懒加载时遇到如下错误:ERRORError:Uncaught(inpromise):NullInjectorError:R3InjectorError(CatalogModule)[UserAuthEventModule->UserAuthEventBuilder->UserAuthEventBuilder->AuthService->OAuthLibWrapperService->OAuthService->OAuthService->OAuthService]:NullInjectorError:没有OAuthService的提供者!AuthService->OAuthLibWrapperService->OAuthService->OAuthService->OAuthService]:NullInjectorError:没有OAuthService的提供者!在NullInjector.get(core.js:11120:1)在R3Injector.get(core.js:11287:1)在R3Injector.get(core.js:11287:1)在R3Injector.get(core.js:11287:1)在injectInjectorOnly(core.js:4770:1)在Module.??inject(core.js:4774:1)在Object.OAuthLibWrapperService_Factory[作为工厂](spartacus-core.js:1514:1)在R3Injector.hydrate(core.js:11457:1)在R3Injector.get(core.js:11276:1)在injectInjectorOnly(core.js:4770):1)atresolvePromise(zone.js:1211:1)atresolvePromise(zone.js:1165:1)atzone.js:1278:1at_ZoneDelegate.invokeTask(zone.js:406:1)atObject.onInvokeTask(core.js:28679:1)at_ZoneDelegate.invokeTask(zone.js:405:1)atZone.runTask(zone.js:178:1)atdrainMicroTaskQueue(zone.js:585:1)UserAuthEventModule具体分析:UserAuthEventModuleUserAuthEventBuilder作为依赖使用:UserAuthEventBuilder使用AuthService:AuthService使用OAuthLibWrapperServiceOAuthLibWrapperService使用OAuthService这个OAuthService最后来自angular-oauth2-oidc,一个开源的AngularoAuth2实现库:OAuthService在网上搜索,发现如下已知问题:https://github.com/manfredste...在第49行添加OAuthModule.forRoot()后,错误消失:https://github.com/manfredste...UserAuthEventModule被删除ImportedbyUserAuthModule:UserAuthModulemost后通过index.ts导出:遇到新的错误:ERRORError:Uncaught(inpromise):NullInjectorError:R3InjectorError(CatalogModule)[EffectsFeatureModule->InjectionToken@ngrx/effectsFeatureEffects->[objectObject]->LanguagesEffects->SiteConnector->SiteConnector->SiteAdapter->SiteAdapter->SiteAdapter]:NullInjectorError:没有SiteAdapter的提供者!NullInjectorError:R3InjectorError(CatalogModule)[EffectsFeatureModule->InjectionToken@ngrx/effectsFeatureEffects->[objectObject]->LanguagesEffects->SiteConnector->SiteConnector->SiteAdapter->SiteAdapter->SiteAdapter]:NullInjectorError:没有SiteAdapter的提供者!在NullInjector.get(core.js:11120:1)atR3Injector.get(core.js:11287:1)atR3Injector.get(core.js:11287:1)atR3Injector.get(core.js:11287:1)atinjectInjectorOnly(core.js:4770:1)atModule.??inject(core.js:4774:1)atObject.SiteConnector_Factory[作为工厂](spartacus-core.js:7506:1)atR3Injector.hydrate(core.js:11457:1)atR3Injector.get(core.js:11276:1)atNgModuleRef$1.get(core.js:25352:1)atresolvePromise(zone.js:1211:1)atresolvePromise(zone.js:1165:1)atzone.js:1278:1at_ZoneDelegate.invokeTask(zone.js:406:1)atObject.onInvokeTask(core.js:28679:1))at_ZoneDelegate.invokeTask(zone.js:405:1)atZone.runTask(zone.js:178:1)atdrainMicroTaskQueue(zone.js:585:1)manyforRootmethods:Minorversionchanges,whichmeansweNew添加了功能,但默认情况下将它们配置为关闭,以免引起兼容性问题。新的次要版本也意味着包含可能影响兼容性的更改或错误修复,但这些也由功能标志控制。因此,所有重大更改都是“选择加入”的。

最新推荐
猜你喜欢