这个defaultOccProductConfig是一个TypeScript对象,位于文件default-occ-product-config.ts里:
export const defaultOccProductConfig: OccConfig = { backend: { occ: { endpoints: { product: { default: 'products/${productCode}?fields=DEFAULT,averageRating,images(FULL),classifications,manufacturer,numberOfReviews,categories(FULL),baseOptions,baseProduct,variantOptions,variantType', list: 'products/${productCode}?fields=code,name,summary,price(formattedValue),images(DEFAULT,galleryIndex)', details: 'products/${productCode}?fields=averageRating,stock(DEFAULT),description,availableForPickup,code,url,price(DEFAULT),numberOfReviews,manufacturer,categories(FULL),priceRange,multidimensional,configuratorType,configurable,tags,images(FULL)', attributes: 'products/${productCode}?fields=classifications', variants: 'products/${productCode}?fields=name,purchasable,baseOptions(DEFAULT),baseProduct,variantOptions(DEFAULT),variantType', }, productReviews: 'products/${productCode}/reviews', // Uncomment this when occ gets configured // productReferences: // 'products/${productCode}/references?fields=DEFAULT,references(target(images(FULL)))&referenceType=${referenceType}', productReferences: 'products/${productCode}/references?fields=DEFAULT,references(target(images(FULL)))', // tslint:disable:max-line-length productSearch: 'products/search?fields=products(code,name,summary,price(FULL),images(DEFAULT),stock(FULL),averageRating,variantOptions),facets,breadcrumbs,pagination(DEFAULT),sorts(DEFAULT),freeTextSearch,currentQuery', // tslint:enable productSuggestions: 'products/suggestions', }, },在product-occ.module.ts里被导入:
providers数组里,接受一个个对象,字段名为:
provide: injectionToken以上图第32行的PRODUCT_NORMALIZER为例:
DefaultConfigurationChunk:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
汪子熙 认证博客专家 前端框架 Node.js SAP JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。2020年5月下旬,Jerry做了脑部肿瘤的开颅切除手术,对编程和人生又有了新的感悟。