user.config.ts文件里定义的配置是如何合并到SAP Spartacus的标准配置里去的
生活随笔
收集整理的這篇文章主要介紹了
user.config.ts文件里定义的配置是如何合并到SAP Spartacus的标准配置里去的
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
user.config.ts文件里提供的默認配置:
- userRoutingConfig
- userCmsConfig
- userTableConfigFactory - function
provideDefaultConfig的實現:
export function provideDefaultConfig(config: any = {}): ValueProvider {return {provide: DefaultConfigChunk,useValue: config,multi: true,}; }運行時,作為 SAP Spartacus global configuration object這個龐大的配置對象,就是從一個個module里提供的默認配置,一點點合并而成的。
import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { ConfigModule } from '../../../config/config.module'; import {COST_CENTERS_NORMALIZER,COST_CENTER_NORMALIZER,COST_CENTER_SERIALIZER, } from '../../../cost-center/connectors/cost-center/converters'; import { OccCostCenterListNormalizer } from './converters/occ-cost-center-list-normalizer'; import { OccCostCenterNormalizer } from './converters/occ-cost-center-normalizer'; import { OccCostCenterSerializer } from './converters/occ-cost-center-serializer'; import { defaultOccCostCentersConfig } from './default-occ-cost-centers-config';@NgModule({imports: [CommonModule, ConfigModule.withConfig(defaultOccCostCentersConfig)],providers: [{provide: COST_CENTERS_NORMALIZER,useExisting: OccCostCenterListNormalizer,multi: true,},{provide: COST_CENTER_NORMALIZER,useExisting: OccCostCenterNormalizer,multi: true,},{provide: COST_CENTER_SERIALIZER,useExisting: OccCostCenterSerializer,multi: true,},], }) export class CostCenterOccModule {}withConfig的實現:
import { ModuleWithProviders, NgModule } from '@angular/core'; import { provideConfig, provideConfigFactory } from './config-providers'; import { ConfigurationService } from './services/configuration.service';@NgModule({}) export class ConfigModule {// To make sure ConfigurationService will be instantiated, we inject it into// module constructorconstructor(_configurationService: ConfigurationService) {}/*** Import ConfigModule and contribute config to the global configuration** To provide default configuration in libraries provideDefaultConfig should be used instead.** @param config Config object to merge with the global configuration*/static withConfig(config: object): ModuleWithProviders<ConfigModule> {return {ngModule: ConfigModule,providers: [provideConfig(config)],};}/*** Import ConfigModule and contribute config to the global configuration using factory function** To provide default configuration in libraries provideDefaultConfigFactory should be used instead.** @param configFactory Factory function that will generate configuration* @param deps Optional dependencies to factory function*/static withConfigFactory(configFactory: Function,deps?: any[]): ModuleWithProviders<ConfigModule> {return {ngModule: ConfigModule,providers: [provideConfigFactory(configFactory, deps)],};}/*** Module with providers, should be imported only once, if possible, at the root of the app.** @param config*/static forRoot(config: any = {}): ModuleWithProviders<ConfigModule> {return {ngModule: ConfigModule,providers: [provideConfig(config)],};} }
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的user.config.ts文件里定义的配置是如何合并到SAP Spartacus的标准配置里去的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xr基带是高通吗(什么是XR技术)
- 下一篇: 泰拉瑞亚竖琴有什么用(汉典泰字的基本解释