1. Introducción a Hapijs
HAPIJS es un marco de aplicaciones de código abierto, Node.js, que es adecuado para la creación de aplicaciones y servicios. Su objetivo de diseño es permitir a los desarrolladores centrarse en desarrollar la lógica de negocios para aplicaciones reutilizables y proporcionar a los desarrolladores la infraestructura necesaria para crear una lógica comercial de aplicaciones. La última versión de Hapijs es actualmente la versión 7.2.0.
2. Instalación de Hapijs y configuración del proyecto
1. Instale la biblioteca Hapi
La instalación de Hapijs es muy simple, ejecute el siguiente comando:
La copia del código es la siguiente:
$ sudo npm instalación hapi -g
[email protected]/usr/local/lib/node_modules/hapi
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
2. Configure el proyecto
1) Cree un nuevo directorio llamado myProject
La copia del código es la siguiente:
$ mkdir myproject
$ CD myProject
2) Ejecute el comando de inicialización en el directorio
La copia del código es la siguiente:
$ npm init
Este comando genera un archivo paquete.json, que son los metadatos del proyecto.
Luego ejecute el comando:
La copia del código es la siguiente:
Instalación de $ npm --save hapi
Instalará la biblioteca HAPI en el proyecto y escribirá las dependencias HAPI en paquete.json.
En este punto, todo lo requerido para el desarrollo del proyecto está listo.
Iii. Ejemplos de desarrollo
1. Crea un servidor
La copia del código es la siguiente:
// server.js
var hapi = require ('hapi');
VAR Server = new Hapi.Server (3000);
servidor.start (function () {
console.log ('servidor ejecutado en:', server.info.uri);
});
Primero, necesitamos la biblioteca Hapi.
En segundo lugar, creamos un nuevo objeto HAPI del servidor y pasamos el número de puerto al objeto del servidor.
Finalmente, se inicia el objeto del servidor y se emite la información del registro.
Para ser claro, cuando creamos un objeto de servidor, podemos proporcionar el nombre de host, la dirección IP o incluso un archivo de socket Unix, o una tubería vinculada al nombre del servidor por el sistema de Windows.
2. Inicie el servidor
Ejecutar el comando:
La copia del código es la siguiente:
$ node servidor.js
Visite http://127.0.0.1:3000/, y el navegador muestra el siguiente contenido:
La copia del código es la siguiente:
{"statuscode": 404, "error": "no encontrado"}
Es normal, porque no hay nada en el servidor en sí, así que agregue la lógica de enrutamiento a continuación.
3. Lógica de enrutamiento
La copia del código es la siguiente:
// server.js
var hapi = require ('hapi');
VAR Server = new Hapi.Server (3000);
server.route ({
Método: 'Get',
camino: '/',
Handler: function (solicitud, respuesta) {
Respuesta ('¡Hola, mundo!');
}
});
server.route ({
Método: 'Get',
ruta: '/{nombre}',
Handler: function (solicitud, respuesta) {
Respuesta ('Hola', + Encodeuricomponent (request.params.name) + "!");
}
});
servidor.start (function () {
console.log ('servidor ejecutado en:', server.info.uri);
});
Inicie el servidor nuevamente:
La copia del código es la siguiente:
$ node servidor.js
Y visite http://127.0.0.1:3000/, y el navegador muestra el siguiente contenido:
¡Hola Mundo!
Visite http://127.0.0.1:3000/zhang SAN, y el navegador muestra el siguiente contenido:
Hola,%E5%BC%A0%E4%B8%89!
Se puede ver que la lógica de enrutamiento se está ejecutando normalmente.
Nota:
El parámetro del método puede ser cualquier método HTTP válido o un asterisco* (representa cualquier método HTTP).
El parámetro de ruta define la ruta de acceso, que puede contener parámetros, parámetros opcionales e incluso caracteres comodín.
4. Use complementos
Al crear una aplicación web, generalmente necesitamos acceder al registro. Para agregar la salida de registro básica a la aplicación, podemos cargar el buen complemento en el servidor.
1. Instale un buen complemento
La copia del código es la siguiente:
$ sudo npm instalación --save bien
[email protected] node_modules/bueno
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
2. Actualizar el código de server.js
La copia del código es la siguiente:
// server.js
var hapi = require ('hapi');
var bueno = requerir ('bueno');
VAR Server = new Hapi.Server (3000);
server.route ({
Método: 'Get',
camino: '/',
Handler: function (solicitud, respuesta) {
Respuesta ('¡Hola, mundo!');
}
});
server.route ({
Método: 'Get',
ruta: '/{nombre}',
Handler: function (solicitud, respuesta) {
Respuesta ('Hola', + Encodeuricomponent (request.params.name) + "!");
}
});
servidor.pack.register (bueno, function (err) {
if (err) {
// Algo malo sucedió cargando el complemento
tirar err;
}
servidor.start (function () {
servidor.log ('info', 'servidor ejecutándose en:' + server.info.uri);
});
});
Ejecutar server.js, salida de la consola:
La copia del código es la siguiente:
141102/161007.644, información, servidor que se ejecuta en: http: // localhost: 3000
Si seguimos visitando: http://127.0.0.1:3000/liqiang
y http://127.0.0.1:3000/
La consola continuará saliendo:
La copia del código es la siguiente:
141102/161150.689, solicitud, http: // Thinker-LQ: 3000: get/liqiang {} 200 (37ms)
141102/161155.812, solicitud, http: // Thinker-LQ: 3000: get/{} 200 (4ms)