Hapi se ha actualizado y para poder instalarlo es necesario
npm i @hapi/hapi
Introducción
Qué necesitas para este curso y qué aprenderás sobre Node.js con Hapi
Conceptos principales de hapi y creación de nuestro primer servidor
Breve historia y estado actual
Creando un sitio básico con Hapi
El objeto h, response y sus herramientas
Uso de plugins - Contenido estático
Plantillas con Handlebars
Renderizado de vistas - Layout y template del home
Recibiendo parámetros en una ruta POST - Creación del registro
Definir una mejor estructura con buenas prácticas en Hapi
Validando la información - Implementando Joi
Introducción a Firebase
Creando un modelo y guardando en firebase
Implementando el login y validación del usuario
Autenticación de usuarios - Cookies y estado
Manejando errores
Visualización de errores
Controlar el error 404 en inert y el error de validación
Repaso - Creación del modelo y controlador para preguntas
Repaso - Creación de las rutas para crear preguntas
Listar las últimas preguntas en el home
Aplicacion de conceptos avanzados
Enrutamiento avanzado - visualizando una pregunta
Enrutamiento avanzado - respondiendo una pregunta
Generando la lógica de la plantilla según si es creador o contribuidor
Métodos de servidor - respuesta correcta
Usando métodos de servidor
Manejo del caché - Agregando el home al caché
Procesamiento de archivos - Aceptando imágenes
Logging con Good - Monitoreando el servidor
Creación de plugins - Teoría
Creación de plugins - Implementando un API REST
Estrategías de autenticación - Asegurando el API REST
Seguridad básica - Asegurando el servidor contra CSRF
Seguridad básica - Asegurando el servidor contra XSS
Herramientas de desarrollo
Depuración del proyecto
Ecosistema de Hapi
Aportes 21
Preguntas 1
Hapi se ha actualizado y para poder instalarlo es necesario
npm i @hapi/hapi
es la introducción mas completa, simple, y efectiva que he tenido sobre API’s (:
Esto si es un profesor, debería dar los cursos de Node.js.
"use strict"
const hapi = require("hapi");
const server = hapi.server({
port: process.env.PORT || 3000,
host: "localhost"
})
const init = async () => {
server.route({
method: "GET",
path: "/",
handler: (req, h)=>{
return {hello:"world"}
}
})
try {
await server.start()
} catch (error) {
console.error(error)
process.exit(1)
}
console.log("The server is on")
}
init()
Con esta clase aprendi mas que en los otros 2 cursos de nodejs que hice anteriormente, que buen profesor!
Hay que aclarar que desde hace un tiempo el modulo de Hapi se instala como @hapi/hapi y debe correr sobre una versión actualizada de Node.
Hapi y sus módulos oficiales cambiaron ahora se instalan y referencian de manera distinta, escribí un tutorial sobre eso:
https://platzi.com/tutoriales/1376-hapi-js/4883-actualiza-hapijs-a-su-nueva-dependencia-en-npm/
Tuve un error en el paquete teamwork de @hapi/hapi (instalacion nueva) y no pude hacer funcionar el server y tuve que instalar hapi con npm i hapi, el cual esta deprecado. Alguien sabe por qué ocurre este error??
A partir de la version 18.11.0 de Node, no es necesario usar nodemon. Node a añadido --watch, parametro que se puede usar al ejecutar el archivo index.
node --watch index.js
// Cambiar esta línea:
const Hapi = require('hapi');
// Por esta
const Hapi = require('@hapi/hapi');
la primera vez que tome un curso de node, nodemon fue un dolor de cabeza, ahora lo hice a la primera
✌
Empezamos bien
Magnifica Explicación
Dependencias
npm i standard nodemon -D
npm i hapi -S
vengo tomando el curso de electron, y fustamente necesito un servicio web. Muy bien explicado.
El mejor curso de nodejs en platzi muy buena clase.
Favor de corregirme:
el ultimo console.log está mal ubicado, ya que al estar fuera del try se ejecuta antes que el server se haya iniciado…
Tips para crear nuevos proyectos https://philna.sh/blog/2019/01/10/how-to-start-a-node-js-project/
'use strict'
const Hapi = require('hapi');
const config = require('./config');
const server = Hapi.server({
port: config.port,
host: config.host
});
async function init () {
server.route({
method: 'GET',
path: '/',
handler: (req, h) => {
return 'Hola mundo mundial! ...'
}
});
try {
await server.start();
} catch (error) {
console.error(error);
process.exit(1);
}
console.log(`Servidor lanzado en: ${server.info.uri}`);
}
init();
Si alguien no tenia instalado nodemon aun y les esta dando error al ejecutar el comando, traten instalándolo de forma global con npm install -g nodemon -D
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?