Introducción

1

Qué necesitas para este curso y qué aprenderás sobre Node.js con Hapi

2

Conceptos principales de hapi y creación de nuestro primer servidor

3

Breve historia y estado actual

Creando un sitio básico con Hapi

4

El objeto h, response y sus herramientas

5

Uso de plugins - Contenido estático

6

Plantillas con Handlebars

7

Renderizado de vistas - Layout y template del home

8

Recibiendo parámetros en una ruta POST - Creación del registro

9

Definir una mejor estructura con buenas prácticas en Hapi

10

Validando la información - Implementando Joi

11

Introducción a Firebase

12

Creando un modelo y guardando en firebase

13

Implementando el login y validación del usuario

14

Autenticación de usuarios - Cookies y estado

15

Manejando errores

16

Visualización de errores

17

Controlar el error 404 en inert y el error de validación

18

Repaso - Creación del modelo y controlador para preguntas

19

Repaso - Creación de las rutas para crear preguntas

20

Listar las últimas preguntas en el home

Aplicacion de conceptos avanzados

21

Enrutamiento avanzado - visualizando una pregunta

22

Enrutamiento avanzado - respondiendo una pregunta

23

Generando la lógica de la plantilla según si es creador o contribuidor

24

Métodos de servidor - respuesta correcta

25

Usando métodos de servidor

26

Manejo del caché - Agregando el home al caché

27

Procesamiento de archivos - Aceptando imágenes

28

Logging con Good - Monitoreando el servidor

29

Creación de plugins - Teoría

30

Creación de plugins - Implementando un API REST

31

Estrategías de autenticación - Asegurando el API REST

32

Seguridad básica - Asegurando el servidor contra CSRF

33

Seguridad básica - Asegurando el servidor contra XSS

Herramientas de desarrollo

34

Depuración del proyecto

35

Ecosistema de Hapi

Conceptos principales de hapi y creación de nuestro primer servidor

2/35
Recursos

Aportes 21

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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…

'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