Maison > interface Web > js tutoriel > Introduction au framework d'application open source Node.js HapiJS

Introduction au framework d'application open source Node.js HapiJS

PHPz
Libérer: 2018-09-29 17:25:01
original
2437 Les gens l'ont consulté

Cet article présente principalement l'introduction de HapiJS, le framework d'application open source Node.js. Cet article explique l'introduction de HapiJS, l'installation de HapiJS, la configuration du projet et les exemples de développement. Les amis dans le besoin peuvent s'y référer.

1. Introduction à HapiJS

HapiJS est un framework d'application open source basé sur Node.js, qui convient à création d'applications L'objectif de conception des programmes et des services est de permettre aux développeurs de se concentrer sur le développement d'une logique métier d'application réutilisable et de fournir aux développeurs l'infrastructure requise pour créer une logique métier d'application. La dernière version de HapiJS est actuellement la version 7.2.0.

2. Installation de HapiJS et configuration du projet

1. Installer la bibliothèque Hapi
L'installation de HapiJS est très simple, exécutez ce qui suit. commande :

$ sudo npm install hapi -g
hapi@7.2.0 /usr/local/lib/node_modules/hapi
├── cryptiles@2.0.4
├── heavy@1.0.0
├── topo@1.0.2
├── accept@1.0.0
├── items@1.1.0
├── kilt@1.1.1
├── catbox-memory@1.1.0
├── boom@2.5.1
├── qs@2.2.4
├── call@1.0.0
├── statehood@1.2.0
├── h2o2@2.0.1
├── iron@2.1.2
├── shot@1.3.5
├── glue@1.0.0
├── wreck@5.0.1
├── hoek@2.8.0
├── catbox@4.0.3
├── vision@1.1.0
├── mimos@1.0.0 (mime-db@1.1.1)
├── rejoice@1.0.0 (bossy@1.0.2)
├── inert@1.1.0 (lru-cache@2.5.0)
├── joi@4.7.0 (isemail@1.1.1)
└── subtext@1.0.1 (content@1.0.1, pez@1.0.0)
Copier après la connexion

2. Configurez le projet

1) Créez un nouveau répertoire nommé monprojet

$ mkdir myproject
$ cd myproject
Copier après la connexion

2) Dans le répertoire Exécutez la commande d'initialisation

$ npm init
Copier après la connexion

Cette commande générera le fichier package.json, qui est les métadonnées du projet.
Ensuite, exécutez la commande :

$ npm install --save hapi
Copier après la connexion

Elle installera la bibliothèque hapi dans le projet et écrira les dépendances de hapi dans package.json.

À ce stade, tout ce qui est nécessaire au développement du projet a été préparé.

3. Exemple de développement

1. Créer un serveur

// server.js
var Hapi = require('hapi');
var server = new Hapi.Server(3000);
server.start(function(){
console.log('Server running at: ', server.info.uri);
});
Copier après la connexion

Tout d'abord, nous avons besoin de la bibliothèque Hapi.

Deuxièmement, nous créons un nouvel objet serveur hapi et transmettons le numéro de port pour écouter l'objet serveur.

Enfin, l'objet serveur démarre et affiche les informations du journal.

Pour expliquer, lorsque nous créons un objet serveur, nous pouvons fournir le nom d'hôte, l'adresse IP, ou même un fichier de socket Unix, ou un système Windows lié au tube nommé du serveur.

2. Démarrez le serveur

Exécutez la commande :

$ node server.js
Copier après la connexion
Copier après la connexion

Visitez http://127.0.0.1:3000/, le navigateur affiche le contenu suivant :

{"statusCode":404,"error":"Not Found"}
Copier après la connexion

C'est normal car il n'y a pas de contenu sur le serveur lui-même. Ajoutons la logique de routage.

3. Logique de routage

// server.js
var Hapi = require('hapi');
var server = new Hapi.Server(3000);
server.route({
method: 'GET',
path: '/',
handler: function(request, reply){
reply('Hello, world!');
}
});
server.route({
method: 'GET',
path: '/{name}',
handler: function(request, reply){
reply('Hello, ' + encodeURIComponent(request.params.name) + "!");
}
});
server.start(function(){
console.log('Server running at: ', server.info.uri);
});
Copier après la connexion

Démarrez à nouveau le serveur :

$ node server.js
Copier après la connexion
Copier après la connexion

et visitez http://127.0.0.1:3000/, le navigateur affiche le contenu suivant :

Bonjour tout le monde !

Visitez http://127.0.0.1:3000/Zhang San, le navigateur affiche le contenu suivant :

Bonjour, Zhang San !

On constate que la logique de routage fonctionne normalement.

Remarque : Le paramètre de la
méthode peut être n'importe quelle méthode HTTP valide, ou il peut être un astérisque * (indiquant n'importe quelle méthode HTTP).
Le paramètre path définit le chemin d'accès, qui peut contenir des paramètres, des paramètres facultatifs et même des caractères génériques.

4. Utilisation de plug-ins

Lors de la création d'applications Web, nous avons généralement besoin d'accéder aux journaux. Pour ajouter une sortie de journalisation de base à l'application, nous pouvons charger le bon plugin sur le serveur.

1. Installez le bon plug-in

$ sudo npm install --save good
good@3.1.1 node_modules/good
├── json-stringify-safe@5.0.0
├── good-reporter@2.0.0
├── async@0.9.0
├── hoek@2.8.1
├── moment@2.8.3
├── good-file@2.0.0 (items@1.1.0)
└── joi@4.7.0 (topo@1.0.2, isemail@1.1.1)
Copier après la connexion

2. Mettez à jour le code de server.js

// server.js
var Hapi = require('hapi');
var Good = require('good');
var server = new Hapi.Server(3000);
server.route({
method: 'GET',
path: '/',
handler: function(request, reply){
reply('Hello, world!');
}
});
server.route({
method: 'GET',
path: '/{name}',
handler: function(request, reply){
reply('Hello, ' + encodeURIComponent(request.params.name) + "!");
}
});
server.pack.register(Good, function(err){
if(err){
// something bad happened loading the plugin
throw err;
}
server.start(function(){
server.log('info', 'Server running at: ' + server.info.uri);
});
});
Copier après la connexion

Exécutez server.js, la sortie de la console :

141102/161007.644, info, Server running at: http://localhost:3000
Copier après la connexion

Si nous visitons ensuite : http://127.0.0.1:3000

La console continuera à afficher :

141102/161150.689, request, http://Thinker-LQ:3000: get /liqiang {} 200 (37ms) 
141102/161155.812, request, http://Thinker-LQ:3000: get / {} 200 (4ms)
Copier après la connexion

Ce qui précède est le résumé de ce chapitre. Tout le contenu, veuillez visiter le Tutoriel vidéo Node.js pour plus de didacticiels connexes !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal