SAP Spartacus CMSService 的調用棧以及 meta 標籤的生成過程

SAP Spartacus 有多達 31 個 AppInitiators:


SeoModule 是其中之一。

initSeoService 方法裏,執行 SeoMetaService 的 init 方法。


Init 方法裏,讀取 meta 數據:

Page 對象的明細:


解析到的 meta 數據:


第 30 行給 this.meta 賦值,就會觸發第 33行的 set 操作:



在 set 操作裏分別給每個字段比如 title 賦值,又會進一步觸發 title 的 set 操作:


這裏會調用 ngTitle 設置 title:

觸發對應的 setter:

這裏準備添加 description meta tag 了:


轉移到框架實現:platform-browser.js


最後還是通過 dom 的原生方法,createElement 創建的 meta 標籤:


最後在 Chrome 開發者工具的 Elements 裏能看到 meta 標籤了:

但是,view source 的顯示裏,並沒有這個 meta 標籤:


更多Jerry的原創文章,盡在:"汪子熙":


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章