カスタム・コンパイラ

コンパイル・プロセスは、カスタム・コンパイラでさらに拡張できます。カスタム・コンパイラをコールして、ページ・レイアウト、セクション・レイアウト、カスタム・コンポーネントまたはコンテンツ・レイアウトをページにコンパイルでき、実行時にコンポーネントを動的に追加する必要がなくなります。

カスタム・コンパイラがコンポーネントに対して存在しないか、コンポーネント・コンパイラがマークアップを返さない場合、コンパイルされていないようにコンポーネントが実行時にレンダリングされます。

カスタム・コンパイラは、次のコンポーネントに対してサポートされています。

  • ページ・レイアウト
  • セクション・レイアウト
  • カスタム・コンポーネント
  • コンテンツ・レイアウト

次のサンプルは、ページ・レイアウトおよびコンテンツ・レイアウト・コンパイラを示しています。セクション・レイアウトおよびカスタム・コンポーネントのコンパイラは、コンテンツ・レイアウトのコンパイラと同じモデルに従います。

カスタム・コンパイラが存在しない場合、コンポーネントはrender.jsファイルでレンダリングします。

カスタム・コンパイラが存在してコールされると、生成されたHTMLがページに挿入されます。カスタム・コンパイラが、コンポーネントで実行時にJavaScriptハイドレーションが必要であることを示す場合もあります。このような場合、render.jsファイル内のコンポーネントのhydrate()関数がコールされます。コンポーネントでハイドレーションが不要な場合、コンポーネントのrender.jsファイルはロードされません。

注:

コンパイルは実行時(公開済サイト)専用機能です。サイトが編集、ナビゲーションまたはプレビュー・モードで表示される場合、ページは通常どおりに動作し、すべてのコンポーネントは常に動的にページに追加されます。