Пользовательские компиляторы

Процесс компиляции можно дополнительно улучшить с помощью индивидуальных компиляторов. Компиляторы можно вызывать для компиляции макета страницы, макета раздела, пользовательского компонента или макета контента на странице, чтобы не нужно было динамически добавлять компоненты во время выполнения.

Если для компонента нет пользовательского компилятора или компилятор компонента не возвращает разметку, то рендеринг компонента осуществляется во время выполнения, как если бы он не был скомпилирован.

Пользовательские компиляторы поддерживаются для указанных ниже компонентов.

  • макеты страниц;
  • Макеты разделов
  • Пользовательские компоненты
  • Макеты контента

Следующие образцы демонстрируют компиляторы макетов страниц и макетов контента. В компиляторах макетов разделов и пользовательских компонентов используется та же модель, что и в компиляторе макетов контента.

Если пользовательских компиляторов нет, рендеринг компонента осуществляется посредством файла render.js.

Если пользовательский компилятор есть, он вызывается, и полученный HTML-код вставляется в страницу. Пользовательский компилятор также может указывать на необходимость JavaScript-гидратации компонента во время выполнения. В этом случае вызывается функция hydrate() компонента в файле render.js. Если компоненту не требуется гидратация, файл render.js компонента никогда не загружается.

Примечание.:

Компиляция — это возможность только времени выполнения (опубликованный сайт). При просмотре сайта в режиме редактирования, навигации или предварительного просмотра страницы работают в обычном режиме и все компоненты всегда динамически добавляются на страницу.