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的原创文章,尽在:"汪子熙":


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