Express.js app.router() Methode
Express.js ist ein webflexibles Node.js-Framework, das eine Reihe von Funktionen für Mobil- und Webanwendungen bereitstellt. Express verfügt über verschiedene Methoden, die von vielen Entwicklern bereitgestellt werden, und eine der Methoden in Express ist Router, der verwendet wird, um den Benutzer auf Requests zu verschiedenen Seiten der Website-Basis umzuleiten.
Syntax :
express.Router([options]);
Parameter: Diese Funktion akzeptiert die folgenden Parameter:
- caseSensitive: Es aktiviert die Berücksichtigung der Groß-/Kleinschreibung, dh wenn die Route „/contact“ lautet, bedeutet dies nicht, dass sie mit „/Contact“, „/contact“ usw. identisch ist. Standardmäßig wird die Berücksichtigung der Groß- und Kleinschreibung ignoriert.
- mergeParams: Diese Funktion ist ab Express-Version 4.5.0 verfügbar. Sie müssen mergeParams als wahr übergeben, wenn Sie auf Parameter von der Parent-Route über die Child-Route zugreifen möchten.
- Strict: Es aktiviert striktes Routing. Das heißt, wenn die Route '/about' ist, bedeutet dies nicht, dass sie mit '/about/' identisch ist, standardmäßig ist es das Gegenteil.
Projektaufbau und Modulinstallation:
Schritt 1: Sie können den Link zum Installieren des Expressmoduls besuchen . Sie können dieses Paket mit diesem Befehl installieren.
npm install express
Schritt 2: Nach der Installation des Express-Moduls können Sie Ihre Express-Version in der Eingabeaufforderung mit dem Befehl überprüfen.
npm version express
Schritt 3: Danach können Sie einfach einen Ordner erstellen und eine Datei hinzufügen, zum Beispiel index.js. Um diese Datei auszuführen, müssen Sie den folgenden Befehl ausführen.
node index.js
Projektstruktur: Sie sieht wie folgt aus.
Dateiname-index.js:
Javascript
// Requiring module const express = require('express'); const app = express(); // Port number const port = process.env.PORT || 4000; // import router which is exported // in app.js file const route = require('./routes/app.js'); // When a request comes from /result // route.It divert to app.js app.use('/result', route); var visit_link = "<a" + " href=" + "/result" + 'style="color:green;"' + '"text-decoration:none;"' + '"text-size:20px" + ">"' + "Hello Geeks" + "</a>" + "<br> <br> Click Hello Geeks"; // Handling GET Request '/' app.get('/', function(req, res) { // Sending the html code as a string res.send(visit_link); }); // Server setup app.listen(port, function(req, res) { console.log("listen"); });
Router()-Methode in Express: Wenn Ihre Web- oder Mobilanwendung viele Routen hat, kann ein Entwickler die Lesbarkeit, Sauberkeit, Konsistenz und Korrektheit des Codes nicht aufrechterhalten, indem er alle Routen in einer Datei verwaltet. Der Express-Entwickler hat also eine bessere Idee und führt eine Methode namens Router ein, die dem Entwickler hilft, alle Anforderungen zu erfüllen.
Wenn der Benutzer in diesem Beispielprojekt auf Hello Geeks klickt, wird er zu http://locahost:4000/result umgeleitet. Wenn die Requests die Route „/result“ enthält, führt der Server die Datei „ app.js “ aus, die sich im Ordner „routes“ befindet.
Dateiname app.js
Javascript
// Requiring module const app = require('express') // Initiate router const router = app.Router(); // Path Module const path = require('path'); // Handling GET Request router.get('/',function(req,res) { res.sendFile(path.dirname(__dirname) + "/index.html") }) // Exporting router variable module.exports = router;
Dateiname-index.html:
Nach vollständiger Ausführung der app.js-Datei sendet sie eine HTML-Datei an diese bestimmte Route und zeigt sie im Browser an.
HTML
<!DOCTYPE html> <html> <body> <img style="margin-left:auto; margin-right:auto; display: block;width: 50%;" src= "https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-15.png" alt="geeksforgeeks" width="500" height="250"> </body> </html>
Schritt zum Ausführen der Anwendung: Führen Sie die Datei index.js mit dem folgenden Befehl aus:
node index.js
Ausgabe: Öffnen Sie nun den Browser und gehen Sie zu http://localhost:4000/ , Sie erhalten die folgende Ausgabe.
Referenz: https://expressjs.com/en/5x/api.html#express.router