SAP Spartacus 默认路由配置的工作原理
這個(gè)默認(rèn)配置文件的名稱:default-routing-config.ts
查看哪些地方消費(fèi)了 defaultRoutingConfig:
provudeDefaultConfig 是一個(gè) helper 函數(shù):
這個(gè) RoutingModule.forRoot 方法又會(huì)在什么時(shí)候被調(diào)用呢?
在這兩處:base-storefront.module.ts 和 storefront-foundation.module.ts:
注意 forRoot 方法返回參數(shù)的類型:ModuleWithProviders:
因?yàn)?import 這些 module 的消費(fèi) module,imports 區(qū)域的類型就是 any[] | Type<any> | ModuleWithProviders<{}>)[]
關(guān)于 ValueProvider 各參數(shù)的說明:
-
provide:注入令牌。通常是 Type 或 InjectionToken 的實(shí)例,但也可以是 any 實(shí)例。
-
multi:如果為 true,則注入器返回實(shí)例數(shù)組。這對(duì)于允許多個(gè)提供者散布在多個(gè)文件中以向公共令牌提供配置信息很有用。
一個(gè)例子:
const locale = new InjectionToken<string[]>('locale'); const injector = Injector.create({providers: [{provide: locale, multi: true, useValue: 'en'},{provide: locale, multi: true, useValue: 'sk'},] });const locales: string[] = injector.get(locale); expect(locales).toEqual(['en', 'sk']);ModuleWithProviders:對(duì) NgModule 及其相關(guān) providers 的包裝。
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Spartacus 默认路由配置的工作原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 21世纪木乃伊是什么意思 21世纪木乃伊
- 下一篇: SAP Spartacus 中的依赖注入