Erstellen und Ausführen eines Hapi.js-Projekts
Was ist Hapi.js?
Hapi.js ist ein leistungsstarkes und flexibles Node.js-Framework zum Aufbau von Anwendungen und Diensten. Es wurde von Walmart Labs erstellt und ist bekannt für sein Pluginsystem und seine vielfältigen Funktionen. Hapi.js bietet eine einfache Methode zur Handhabung von HTTP-Anfragen und -Antworten, sodass Entwickler effizient leistungsstarke Webanwendungen und APIs erstellen können.
Hauptmerkmale und Vorteile von Hapi.js
- Pluginsystem: Hapi.js verfügt über ein robustes Pluginsystem, das die Erweiterung und Wiederverwendung von Code erleichtert.
- Routingsystem: Bietet flexible und leistungsstarke Routingdefinitionen und -funktionen.
- Eingabevalidierung: Eingebaute, leistungsstarke Eingabevalidierung zur Sicherstellung von Datenintegrität und -sicherheit.
- Reiches Ökosystem: Verfügt über eine Vielzahl von Plugins und Community-Support, die verschiedene häufige Funktionsanforderungen abdecken.
- Sicherheit: Enthält verschiedene Sicherheitsfunktionen, wie Schutz vor Cross-Site-Request-Forgery (CSRF) und Cross-Site-Scripting (XSS) Angriffen.
Mit Hapi.js können Entwickler schnell leistungsstarke und sichere Webanwendungen und APIs erstellen.
Erstellen und Ausführen eines Hapi.js-Projekts mit ServBay
In diesem Artikel nutzen wir die von ServBay bereitgestellte Node.js-Umgebung, um ein Hapi.js-Projekt zu erstellen und auszuführen. Wir verwenden die 'Hosting'-Funktion von ServBay, um den Webserver einzurichten und über Reverse-Proxy auf das Projekt zuzugreifen.
Erstellen eines Hapi.js-Projekts
Initialisiere das Projekt
Stellen Sie zunächst sicher, dass Sie die von ServBay bereitgestellte Node.js-Umgebung installiert haben. Erstellen Sie dann ein neues Hapi.js-Projekt im vorgeschlagenen Website-Stammverzeichnis von ServBay
/Applications/ServBay/www
:bashcd /Applications/ServBay/www mkdir servbay-hapi-app cd servbay-hapi-app npm init -y npm install @hapi/hapi
1
2
3
4
5Erstellen der Anwendungsdatei
Erstellen Sie im Stammverzeichnis des Projekts eine Datei
server.js
und fügen Sie den folgenden Code hinzu:javascriptconst Hapi = require('@hapi/hapi'); const init = async () => { const server = Hapi.server({ port: process.env.PORT || 3000, host: 'localhost' }); server.route({ method: 'GET', path: '/', handler: (request, h) => { return 'Hello ServBay!'; } }); await server.start(); console.log('Server running on %s', server.info.uri); }; process.on('unhandledRejection', (err) => { console.log(err); process.exit(1); }); init();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
In den Entwicklermodus wechseln
Entwicklungsserver starten
Starten Sie den Entwicklungsserver und geben Sie den Port an (z.B.: 8585):
bashPORT=8585 node server.js
1Dadurch wird ein lokaler Entwicklungsserver gestartet und Port 8585 freigegeben.
ServBay Hosting Reverse-Proxy konfigurieren
Verwenden Sie die 'Hosting'-Funktion von ServBay, um über Reverse-Proxy auf den Entwicklungsserver zuzugreifen. Fügen Sie in den 'Hosting'-Einstellungen von ServBay einen neuen Reverse-Proxy hinzu:
- Name:
Meine erste Hapi.js Entwicklerseite
- Domainname:
servbay-hapi-test.dev
- Hosttyp:
Reverse-Proxy
- IP:
127.0.0.1
- Port:
8585
Befolgen Sie die detaillierten Einrichtungsschritte unter Hinzufügen einer Nodejs-Entwicklungsseite.
- Name:
Zugriff im Entwicklermodus
Öffnen Sie einen Browser und besuchen Sie
https://servbay-hapi-test.dev
, um das Projekt in Echtzeit zu sehen. Da ServBay benutzerdefinierte Domainnamen und kostenlose SSL-Zertifikate unterstützt, genießen Sie eine höhere Sicherheit.
Produktionsversion bereitstellen
Produktionsumgebung vorbereiten
Stellen Sie sicher, dass Ihr Projekt in der Produktionsumgebung ordnungsgemäß läuft. Normalerweise benötigen Hapi.js-Projekte keine speziellen Build-Schritte, aber Sie müssen möglicherweise einige Umgebungsvariablen festlegen oder andere Konfigurationen vornehmen.
Produktionsserver starten
Starten Sie den Produktionsserver und geben Sie den Port an (z.B.: 8586):
bashPORT=8586 NODE_ENV=production node server.js
1ServBay Hosting Reverse-Proxy konfigurieren
Verwenden Sie die 'Hosting'-Funktion von ServBay, um über Reverse-Proxy auf den Produktions-Server zuzugreifen. Fügen Sie in den 'Hosting'-Einstellungen von ServBay einen neuen Reverse-Proxy hinzu:
- Name:
Meine erste Hapi.js Produktionsseite
- Domainname:
servbay-hapi-test.prod
- Hosttyp:
Reverse-Proxy
- IP:
127.0.0.1
- Port:
8586
- Name:
Zugriff auf den Produktionsmodus
Öffnen Sie einen Browser und besuchen Sie
https://servbay-hapi-test.prod
, um die Produktionsversion zu sehen. Mit den benutzerdefinierten Domainnamen und kostenlosen SSL-Zertifikaten von ServBay wird Ihre Website sicherer und vertrauenswürdiger.
Datenbankverbindung
ServBay bietet Unterstützung für Redis, MariaDB, PostgreSQL und MongoDB. Nachfolgend finden Sie Beispiele für die Verbindung zu diesen Datenbanken.
Verbindung zu MongoDB
Installieren Sie
@hapi/nes
undmongoose
:bashnpm install mongoose
1Importieren und verbinden Sie dann in Ihrem Projekt:
javascriptconst mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-hapi-app', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('MongoDB connected')) .catch(err => console.log(err));
1
2
3
4
5Verbindung zu Redis
Installieren Sie
redis
:bashnpm install redis
1Importieren und verbinden Sie dann in Ihrem Projekt:
javascriptconst redis = require('redis'); const client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); }); client.on('connect', function () { console.log('Redis client connected'); });
1
2
3
4
5
6
7
8
9
10Verbindung zu MariaDB
Installieren Sie
mariadb
:bashnpm install mariadb
1Importieren und verbinden Sie dann in Ihrem Projekt:
javascriptconst mariadb = require('mariadb'); const pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_hapi_app' }); pool.getConnection() .then(conn => { console.log("Connected to MariaDB"); conn.release(); // Freigabe an den Pool }) .catch(err => { console.log("Not connected due to error: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Verbindung zu PostgreSQL
Installieren Sie
pg
:bashnpm install pg
1Importieren und verbinden Sie dann in Ihrem Projekt:
javascriptconst { Pool } = require('pg'); const pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_hapi_app', password: 'password', port: 5432, }); pool.connect((err, client, done) => { if (err) throw err; console.log('Connected to PostgreSQL'); done(); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Mit den obigen Schritten haben Sie erfolgreich ein Hapi.js-Projekt erstellt und ausgeführt und die von ServBay bereitgestellten Funktionen zur Verwaltung und zum Zugriff auf Ihr Projekt verwendet sowie Verbindungen zu verschiedenen Datenbanken hergestellt.