Aangepaste compilers

Het compilatieproces kan nog worden verbeterd met behulp van aangepaste compilers. Aangepaste compilers kunnen worden aangeroepen voor het in de pagina compileren van de paginalay-out, een sectielay-out, een aangepaste component of de inhoudlay-out, zodat de component tijdens runtime niet dynamisch hoeft te worden toegevoegd.

Als er geen aangepaste compiler bestaat voor een component of als de componentcompiler geen markup retourneert, wordt de component tijdens runtime weergegeven alsof er geen compilatie heeft plaatsgevonden.

Aangepaste compilers worden ondersteund voor de volgende componenten:

  • Paginalay-outs
  • Sectielay-outs
  • Aangepaste componenten
  • Inhoudlay-outs

In de volgende voorbeelden worden compilers getoond voor paginalay-out en inhoudlay-out. Compilers voor sectielay-out en aangepaste componenten werken volgens hetzelfde model als de compiler voor inhoudlay-out.

Als er geen aangepaste compiler bestaat, wordt de weergave van een component gerealiseerd via het bestand render.js.

Als er wel een aangepaste compiler bestaat, wordt deze aangeroepen en wordt de resulterende HTML-code in de pagina ingevoegd. Via de aangepaste compiler kan ook worden aangegeven dat voor de component JavaScript-hydratatie (aanvullen met JavaScript-gedrag) nodig is tijdens runtime. In dit geval wordt de functie hydrate() van de component binnen het bestand render.js aangeroepen. Als er voor een component geen hydratatie hoeft te worden uitgevoerd, wordt het bestand render.js voor de component niet geladen.

Opmerking:

Compilatie is een functie die alleen tijdens runtime (voor een gepubliceerde site) wordt uitgevoerd. Als een site wordt bekeken in de modus 'Bewerken', 'Navigeren' of 'Voorbeeld' werken de pagina's zoals gebruikelijk en worden alle componenten altijd dynamisch aan de pagina toegevoegd.