SAP 电商云 Spartacus UI 的 feature module 设计原理
我們以一個具體的例子來說明該原理。
我們查看某 integration library 目錄下的 public_api.ts:
關(guān)注 module:
這個 lib 包含的 module 為 EpdVisualizationModule 以及對應(yīng)的配置:EpdVisualizationConfig
注意第八行 import 的 VisualPickingTabModule,這個才是包含了 Angular Component 的 module.
入口是 VisualPickingTabComponent:
對于 Spartacus 來說,它只關(guān)心最頂層的 EpdVisualizationModule.
SpartacusFeaturesModule
SpartacusFeaturesModule 旨在輕松管理所有非核心 Spartacus 功能,包括靜態(tài)加載和延遲加載。 它充當(dāng)所有功能的入口點,理想情況下,這些功能被包裝到自己的獨立功能模塊中。
在早期的 3.x 次要版本中,SpartacusFeaturesModule 可能看起來臃腫而忙碌,但隨著每個連續(xù)的發(fā)布,它應(yīng)該變得更加簡潔,因為努力將大部分功能移到單獨的庫中。
理想情況下,可以將一個完整的功能封裝到一個特定的功能模塊中。 該模塊可以包含與功能相關(guān)的配置以及自定義。
根據(jù)環(huán)境變量 environment 對應(yīng)的值來決定插入哪些 feature module 到數(shù)組 featureModules 里。
最后
SpartacusFeatureModule import 的 module 包含兩部分,mandatory 的 core module(硬編碼),以及上文描述的 featureModules 數(shù)組里的 module 兩部分。
linux 系統(tǒng):
export SPA_ENV=epd-visualization
windows 系統(tǒng):
set CX_EPD_VISUALIZATION=true&& yarn start:local
開啟 CX_EPD_VISUALIZATION 之后,就能看到對應(yīng)的 CMS mapping 了:
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP 电商云 Spartacus UI 的 feature module 设计原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本地启动 SAP Commerce Cl
- 下一篇: 介绍一个能避免 CORS 错误的 Chr