定制编译器

可以通过定制编译器进一步改进编译过程。您可以调用定制编译器,以将页布局、部分布局、定制组件或内容布局编译到页中,避免需要在运行时动态添加组件的情况。

如果组件不存在定制编译器或者组件编译器未返回任何标记,则将在运行时呈现该组件,就像从未对其进行编译一样。

以下组件支持定制编译器:

  • 页布局
  • 部分布局
  • 定制组件
  • 内容布局

以下示例显示页布局和内容布局编译器。部分布局和定制组件编译器遵循与内容布局编译器相同的模型。

如果不存在定制编译器,则组件通过 render.js 文件来呈现。

如果确实存在定制编译器,则调用该编译器,生成的 HTML 将插入到页中。定制编译器还可以指示组件在运行时需要 JavaScript 水合。如果是这种情况,将调用 render.js 文件内组件的 hydrate() 函数。如果组件不需要水合,则永远不加载组件的 render.js 文件。

注:

编译是仅运行时(已发布站点)功能。在编辑、导航或预览模式下查看站点时,页像平常一样工作,所有组件都将始终动态添加到页中。