这个defaultOccProductConfig主要是endpoint config:
该module提供了如下injection token的注入:
ProductOccModule被OccModule import:
OccModule被StorefrontModule import:
StorefrontModule被B2cStorefrontModule import:
B2cstorefrontModule被B2cFeature import:
而Spartacus的url parameter和五个base site就是在这里定义的:
import { B2cStorefrontModule } from '@spartacus/storefront';
import { FeatureEnvironment } from '../models/feature.model';
export const b2cFeature: FeatureEnvironment = {
imports: [
B2cStorefrontModule.withConfig({
context: {
urlParameters: ['baseSite', 'language', 'currency'],
baseSite: [
'electronics-spa',
'electronics',
'apparel-de',
'apparel-uk',
'apparel-uk-spa',
],
},
cart: {
selectiveCart: {
enabled: true,
},
},
}),
],
};
最后,storefront app里的App module import了b2cFeature: