Compilatoare personalizate

Procesul de compilare poate fi îmbunătăţit în continuare cu compilatoare personalizate. Puteţi apela compilatoare personalizate pentru a compila macheta paginii, macheta secţiunii, componenta personalizată sau macheta conţinutului în pagină şi pentru a evita necesitatea ca respectiva componentă să fie adăugată dinamic la runtime.

Dacă nu există un compilator personalizat pentru o componentă sau compilatorul de componente nu returnează niciun marcaj, atunci componenta va fi randată la runtime ca şi cum nu a fost compilată niciodată.

Compilatoare personalizate sunt acceptate pentru următoarele componente:

  • Machete de pagini
  • Machete de secţiuni
  • Componente personalizate
  • Machete de conţinut

Următoarele exemple prezintă macheta paginii şi compilatoarele pentru macheta de conţinut. Compilatoarele machetelor secţiunii şi a componentelor personalizate urmează acelaşi model ca şi compilatorul machetelor de conţinut.

Dacă nu există niciun compilator personalizat, o componentă se randează prin intermediul fişierului render.js.

Dacă există un compilator personalizat, acesta este apelat, iar HTML-ul rezultat este inserat în pagină. Compilatorul personalizat poate indica, de asemenea, că componenta are nevoie de hidratare JavaScript la runtime. În acest caz, este apelată funcţia hydrate() a componentei din cadrul fişierului render.js. În cazul în care componenta nu necesită hidratare, fişierul render.js al componentei nu este niciodată încărcat.

Notă:

Compilarea este o funcţionalitate numai la runtime (site publicat). Când un site este vizualizat în modul de editare, navigare sau previzualizare, paginile funcţionează ca de obicei, iar toate componentele vor fi adăugate întotdeauna dinamic în pagină.