自訂編譯器

可以使用自訂編譯器進一步增強編譯處理作業。您可以呼叫自訂編譯器來編譯頁面中的頁面版面配置、區段版面配置、自訂元件或內容版面配置,而不需要在程式實際執行時動態新增元件。

如果沒有元件的自訂編譯器,或元件編譯器沒有傳回標記,則元件將會在程式實際執行時呈現,就像未曾進行編譯一樣。

下列元件支援自訂編譯器:

  • 頁面版面配置
  • 區段版面配置
  • 自訂元件
  • 內容版面配置

下列範例顯示頁面版面配置和內容版面配置編譯器。區段版面配置和自訂元件會依照和內容版面配置編譯器相同的模型。

如果沒有自訂編譯器存在,元件會透過 render.js 檔案呈現。

如果有自訂編譯器,系統會呼叫編譯器,然後將產生的 HTML 插入頁面中。自訂編譯也可以指出元件在程式實際執行時需要 JavaScript 填入作業。如果是這種情況,會呼叫 render.js 檔案內元件的 hydrate() 函數。若元件不需要填入,則不會載入元件的 render.js 檔案。

註:

編譯功能僅適用於程式實際執行時 (已發布網站)。若在編輯、瀏覽或預覽模式中檢視網站,頁面會正常運作,而所有元件會一律動態新增至頁面。