Usando Handlebars como template engine
Clase 9 de 43 • Curso de Express.js 2018
Contenido del curso
Template Engines y archivos estáticos
Creando un API Restful
Conectando Express.js con servicios externos
Middlewares: En el medio del request
- 20

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

Manejo de errores usando un middleware
09:36 min - 22

Validación de datos usando un middleware
03:06 min - 23

Implementando Sentry para el manejo de log de errores
01:14 min - 24

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

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

Middlewares populares
02:34 min
Autenticación en Express.js
Testing
Deployment
- 35

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

npm script
05:01 min - 37

Añadiendo manejo de cache y seguridad con helmet
09:47 min - 38

Cómo usar las variables de entorno para diferente ambientes
01:06 min - 39

Habilitando CORS en producción
01:09 min - 40

Cómo funciona y por qué es importante el uso de HTTPS
01:08 min - 41

Desplegando con Now y detectando vulnerabilidades con npm audit
07:16 min - 42

Automatizar el chequeo de vulnerabilidades con snyk
00:52 min - 43

Conclusiones
01:46 min
Para poder hacer uso de Handlebars en nuestro proyecto de Express.js lo único que debemos hacer es instalar como dependencia la librería consolidate y registrarla como engine.
Tenienendo una aplicacion de Express.js basica:
const express = require("express"); const app = express(); app.get("/", function(req, res) { res.render("index", { hello: "hola", world: "mundo" }); }); const server = app.listen(3000, function() { console.log(`Listening http://localhost:${server.address().port}`); });
Justo antes de las definiciones de rutas agregamos:
const engines = require('consolidate'); app.engine('hbs', engines.handlebars) app.set('views', './views') app.set('view engine', 'hbs')
De esta manera podemos crear un nuevo template llamado index.hbs en la carpeta views.
<h1>{{hello}} {{world}}</h1>
Y eso es todo, ya podemos usar nuestros templates hecho con Handlebars.