1. Einführung in Hapijs
Hapijs ist ein Open Source, Node.js-basierter Anwendungsrahmen, der für den Bau von Anwendungen und Diensten geeignet ist. Sein Designziel ist es, Entwicklern die Entwicklung der Geschäftslogik für wiederverwendbare Anwendungen zu ermöglichen und Entwicklern die für den Aufbau von Anwendungsgeschäftslogik erforderliche Infrastruktur zu bieten. Die neueste Version von Hapijs ist derzeit Version 7.2.0.
2. Hapijs Installation und Projektkonfiguration
1. Installieren Sie die HAPI -Bibliothek
Die Installation von Hapijs ist sehr einfach und führen Sie den folgenden Befehl aus:
Die Codekopie lautet wie folgt:
$ sudo npm install 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. Konfigurieren Sie das Projekt
1) Erstellen Sie ein neues Verzeichnis namens MyProject
Die Codekopie lautet wie folgt:
$ mkdir MyProject
$ cd MyProject
2) Führen Sie den Initialisierungsbefehl im Verzeichnis aus
Die Codekopie lautet wie folgt:
$ npm init
Dieser Befehl generiert eine Package.json -Datei, die die Metadaten des Projekts ist.
Führen Sie dann den Befehl aus:
Die Codekopie lautet wie folgt:
$ npm install -Save Hapi
Es wird die HAPI -Bibliothek in das Projekt installieren und die HAPI -Abhängigkeiten in Package.json schreiben.
Zu diesem Zeitpunkt ist alles, was für die Projektentwicklung erforderlich ist, fertig.
III. Entwicklungsbeispiele
1. Erstellen Sie einen Server
Die Codekopie lautet wie folgt:
// server.js
var hapi = fordert ('hapi');
var server = new Hapi.server (3000);
server.start (function () {
console.log ('Server ausgeführt unter:', server.info.uri);
});
Erstens brauchen wir die HAPI -Bibliothek.
Zweitens erstellen wir ein neues HAPI -Serverobjekt und übergeben die Portnummer an das Serverobjekt.
Schließlich wird das Serverobjekt gestartet und die Protokollinformationen werden ausgegeben.
Um klar zu sein, können wir beim Erstellen eines Serverobjekts den Hostnamen, die IP -Adresse oder sogar eine Unix -Socket -Datei oder eine Pipeline angeben, die durch das Windows -System an den Servernamen gebunden ist.
2. Starten Sie den Server
Führen Sie den Befehl aus:
Die Codekopie lautet wie folgt:
$ node server.js
Besuchen Sie http://127.0.0.1:3000/, und der Browser zeigt den folgenden Inhalt an:
Die Codekopie lautet wie folgt:
{"StatusCode": 404, "Fehler": "Nicht gefunden"}
Es ist normal, denn auf dem Server selbst gibt es nichts. Fügen Sie also die Routing -Logik unten hinzu.
3.. Routing -Logik
Die Codekopie lautet wie folgt:
// server.js
var hapi = fordert ('hapi');
var server = new Hapi.server (3000);
server.route ({{{
Methode: 'Get',
Weg: '/',
Handler: Funktion (Anfrage, Antwort) {
Antwort ('Hallo, Welt!');
}
});
server.route ({{{
Methode: 'Get',
Pfad: '/{Name}',
Handler: Funktion (Anfrage, Antwort) {
Antwort ('Hallo,' + Encodeuricomponent (request.params.name) + "!");
}
});
server.start (function () {
console.log ('Server ausgeführt unter:', server.info.uri);
});
Starten Sie den Server erneut:
Die Codekopie lautet wie folgt:
$ node server.js
Und besuchen Sie http://127.0.0.1:3000/, und der Browser zeigt den folgenden Inhalt an:
Hallo Welt!
Besuchen Sie http://127.0.0.1:3000/zhang san, und der Browser zeigt den folgenden Inhalt an:
Hallo,%E5%BC%A0%E4%B8%89!
Es ist ersichtlich, dass die Routing -Logik normal läuft.
Notiz:
Der Parameter der Methode kann eine gültige HTTP -Methode oder ein Sternchen* sein (repräsentiert jede HTTP -Methode).
Der Pfadparameter definiert den Zugriffspfad, der Parameter, optionale Parameter und sogar Platzhalterzeichen enthalten kann.
4. Verwenden Sie Plug-Ins
Beim Erstellen einer Webanwendung müssen wir normalerweise auf das Protokoll zugreifen. Um der Anwendung eine grundlegende Protokollausgabe hinzuzufügen, können wir das gute Plugin auf dem Server laden.
1. Installieren Sie ein gutes Plug-In
Die Codekopie lautet wie folgt:
$ sudo npm install --Save gut
[email protected] NODE_MODULES/GUT
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
2. Update Server.js Code
Die Codekopie lautet wie folgt:
// server.js
var hapi = fordert ('hapi');
var gut = erfordern ('gut');
var server = new Hapi.server (3000);
server.route ({{{
Methode: 'Get',
Weg: '/',
Handler: Funktion (Anfrage, Antwort) {
Antwort ('Hallo, Welt!');
}
});
server.route ({{{
Methode: 'Get',
Pfad: '/{Name}',
Handler: Funktion (Anfrage, Antwort) {
Antwort ('Hallo,' + Encodeuricomponent (request.params.name) + "!");
}
});
server.pack.register (gut, function (err) {
if (err) {
// Es ist etwas Schlimmes beim Laden des Plugins passiert
errösten;
}
server.start (function () {
server.log ('info', 'Server, der unter:' + server.info.uri) ausgeführt wird;
});
});
Run server.js, Konsolenausgabe: Ausgabe:
Die Codekopie lautet wie folgt:
141102/161007.644, Info, Server, der ausgeführt wird unter: http: // localhost: 3000
Wenn wir weiterhin besuchen: http://127.0.0.1:3000/liqiang
und http://127.0.0.1:3000/
Die Konsole wird weiterhin ausgegeben:
Die Codekopie lautet wie folgt:
141102/161150.689, Request, http: // Thinker-Lq: 3000: get/liqiang {} 200 (37 ms)
141102/161155.812, Request, http: // Thinker-Lq: 3000: get/{} 200 (4ms)