由於自己在開發以 CSS 為核心 的 UI framework ( Master UI, prefix: m- ),
起初當然是使用大眾所習慣的 div 搭配 class ( 如 bootstrap ) 來定義與創建 UI,
但後來改成 custom element,主要原因:
- template 結構看起來更清晰、更有鑑別度
- UI 的屬性如:theme, size 都可透過自定義 attribute 來設定,不用再把所有屬性都塞在 class,很臭長一段,且每個屬性值都能規則的被設定在自己的 attribute 下,也不用 data- prefix
- coding 起來更快、更方便
- 避免 UI 被 div 初始的一些樣式設定所干擾,甚至跑版,無法正常運作
- 不會與其他 UI framework 衝突
- 瀏覽器原生支援:可以僅透過 HTML, CSS 創建,JS 部分則有 lifecycle
但是關於 custom element 的文獻不是很多,
所以想請問 custom element 是否會對 SEO 會有影響 ~?
或者有沒有大大之前有被雷過的經驗或者更好的做法可以分享一下 ~!
貼心提醒:在 angular 使用 custom element 必須先在 ngModule 引入 schema
[Web Fundamentals] 自定義元素 v1:可重用網絡組件
[https://developers.google.com/web/fundamentals/web-components/customelements#prestyle]