SAP 电商云 Spartacus UI 模块延迟加载的入口程序
生活随笔
收集整理的這篇文章主要介紹了
SAP 电商云 Spartacus UI 模块延迟加载的入口程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
該入口位于下圖第 218 行的 rxjs from Operator 調用:
這里我們將一個函數傳入 from:
傳入的具體函數如下:
這個函數返回一個 promise,該類型作為 from 操作符的輸入類型。這個函數維護在 featureConfig json 對象的 module 字段里:
這個 json 對象是 Spartacus 代碼里通過 provideConfig 注入到配置對象 config 中的,字段名稱為 featureModules:
這里會觸發 chunk 加載?
從下圖可以確認,確實上圖19行 import 指令,會觸發 spartacus/cart/quick/order chunk 的加載:
第19行 import 語句執行完之后,使用 then 返回加載成功的 QuickOrderModule 定義,這體現了 Promise 的語義。
所以當代碼執行到下圖第 220 行 switchMap 時,傳入的 module 就是加載成功的 QuickOrderModule 類:
這里還使用了 EventService 來拋出延遲加載 chunk 成功加載的事件:ModuleInitializedEvent
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP 电商云 Spartacus UI 模块延迟加载的入口程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新股破发后面会涨吗
- 下一篇: 一原始股等于多少股票