Plantillas de precompilación
Owl está diseñado para ser utilizado por el marco de trabajo de JavaScript de Odoo. Dado que Odoo maneja sus activos de una manera no estándar, se decidió/asumió que Owl compilarÃa plantillas en tiempo de ejecución.
Sin embargo, en algunos casos no es óptimo o, peor aún, no es posible hacerlo. Por ejemplo, las extensiones del navegador no permiten que el código JavaScript cree una nueva función (utilizando la sintaxis new Function(...)
).
Por lo tanto, en estos casos, es necesario compilar plantillas con anticipación. Es posible hacerlo en Owl, pero las herramientas aún son básicas. Por ahora, el proceso es el siguiente:
- Escribe tus plantillas en archivos xml (con una directiva
t-name
para declarar el nombre de la plantilla) - Compilarlas en un archivo
templates.js
- obtener el archivo
owl.iife.runtime.js
(que es una compilación de owl sin el compilador) - Agrupe
owl.iife.runtime.js
ytemplate.js
con sus activos (owl debe ubicarse antes que las plantillas)
Aquà hay una explicación más detallada sobre cómo compilar archivos xml en un archivo js:
- Clonar el repositorio Owl localmente
npm install
para instalar todas las herramientas necesariasnpm run build:runtime
para construir el archivoowl.iife.runtime.js
npm run build:compiler
para construir el compilador de plantillasnpm run compile_templates -- path/to/your/templates
escaneará su carpeta de destino, encontrará todos los archivos xml, obtendrá todas las plantillas, las compilará y generará un archivotemplates.js
.