Qué es template engine y cómo crearlo
Clase 6 de 43 • Curso de Express.js 2018
Contenido del curso
- 20

Qué es un middleware y qué tipos existen
01:47 - 21

Manejo de errores usando un middleware
09:36 - 22

Validación de datos usando un middleware
03:06 - 23
Implementando Sentry para el manejo de log de errores
01:14 - 24

Qué es Joi y Boom y cómo configurar Joi
08:06 - 25

Configurando Boom y nuestra página 404
14:47 - 26

Middlewares populares
02:34
- 35

Buenas prácticas para el despliegue en producción
03:36 - 36

npm script
05:01 - 37

Añadiendo manejo de cache y seguridad con helmet
09:47 - 38
Cómo usar las variables de entorno para diferente ambientes
01:06 - 39
Habilitando CORS en producción
01:09 - 40
Cómo funciona y por qué es importante el uso de HTTPS
01:08 - 41

Desplegando con Now y detectando vulnerabilidades con npm audit
07:16 - 42
Automatizar el chequeo de vulnerabilidades con snyk
00:52 - 43

Conclusiones
01:46
Template engine es una implementación de software que nos permite mezclar datos con una plantilla con el fin de generar un documento que será renderizado en el navegador. Algunos de los template engines más conocidos son:
-
Handlebars (para JavaScript),
-
Twig y Blade (para Laravel / PHP)
-
JSP (para Java)
-
Ninja (de Python).

Template engine express
Express nos permite crear nuestro propio template engine personalizado. Además permite el uso de múltiples engines según la extensión de los archivos que le hayamos indicado.
app.engine('<extension>', function( filePath, options, callback ){});
app.set('views', '<directorio-de-vistas>');
app.set('view engine', '<extension>');
Donde filePath indica la ruta del template, options indica las variables que vamos a mezclar con el template y callback será la función que mezcle la plantilla con las opciones para obtener el documento que será mostrado en el navegador.
Algo importante que debemos notar es que en Node los callbacks son ""error first"", por lo que el primer parámetro devuelto por las funciones, por lo general será siempre el objeto que contenga los detalles del error, si existe esa falla.
Además, en el objeto options recibido en el callback del engine, no solo se pasan las variables que definimos en la llamada, sino otros datos como settings y locals que deberemos descartar cuando estamos creando nuestro propio engine, pero que, cuando trabajamos con los template engines predefinidos, es Node quien se encarga de manejarlos.