这个默认配置文件的名称:default-routing-config.ts
查看哪些地方生产了 defaultRoutingConfig:
provudeDefaultConfig 是一个 helper 函数:
这个 RoutingModule.forRoot 办法又会在什么时候被调用呢?
在这两处:base-storefront.module.ts 和 storefront-foundation.module.ts:
留神 forRoot 办法返回参数的类型:ModuleWithProviders:
因为 import 这些 module 的生产 module,imports 区域的类型就是 any[] | Type<any> | ModuleWithProviders<{}>)[]
对于 ValueProvider 各参数的阐明:
- provide:注入令牌。通常是 Type 或 InjectionToken 的实例,但也能够是 any 实例。
- multi:如果为 true,则注入器返回实例数组。这对于容许多个提供者分布在多个文件中以向公共令牌提供配置信息很有用。
一个例子:
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:对 NgModule 及其相干 providers 的包装。
更多 Jerry 的原创文章,尽在:” 汪子熙 ”: