Eine kurze Diskussion über die Typen von node.js-Middleware

Eine kurze Diskussion über die Typen von node.js-Middleware

Überblick

Node-Middleware ist die Funktion der Kapselung von HTTP-Anfragen im Programm. Node-Middleware wird in der Pipeline ausgeführt. Middleware sitzt auf dem Client/Server-Betriebssystem und verwaltet Computerressourcen und Netzwerkkommunikation.

Middleware dient dem logischen Hauptgeschäft und kann in folgende Kategorien unterteilt werden: Middleware auf Anwendungsebene, Middleware auf Routingebene, integrierte Middleware, Middleware von Drittanbietern und Middleware auf Fehlerebene.

1. Middleware auf Anwendungsebene

Jede Middleware ruft eine Funktion auf und muss mit anderer Middleware oder Routing verwendet werden.

Server (Funktion) fängt alle Routen ab

server.use('/reg', Funktion); bestimmte Routen abfangen

const express = erfordern('express');
var server = express();
server.listen(3000);
//Middleware-Abfangregistrierung route/reg
server.use('/reg',(req,res,next)=>{
    console.log('Registrierungsüberprüfung');
    nächste();
});

server.use('/login',(req,res)=>{
    console.log('Protokoll aufgezeichnet');
})
server.get('/reg',(req,res,next)=>{
    res.send('Registrierung erfolgreich');
    nächste();
});

server.get('/login',(req,res)=>{
    res.send('Anmeldung erfolgreich');
})

2. Integrierte Middleware

server.use(express.static('Verwendung'))

Hosten Sie statische Ressourcendateien in einem bestimmten Verzeichnis. Wenn der Browser statische Ressourcen anfordert, sucht er automatisch in diesem Verzeichnis.

3. Middleware von Drittanbietern

(1) Body-Parser, analysiert Post-Request-Daten in Objekte

const express = erfordern('express');
//Body-Parser-Middleware einführen const bodyParser=require('body-parser');

var server = express();
server.listen(3000);
// Hosten Sie statische Ressourcen öffentlich
server.use(express.static('./public'));

//Verwenden Sie die Body-Parser-Middleware, um die Post-Request-Daten in ein Objekt zu analysieren. //Erweitert: Gibt an, ob das erweiterte qs-Modul zum Parsen in ein Objekt verwendet werden soll. //Wenn „false“, verwenden Sie es nicht und verwenden Sie stattdessen das Querystring-Modul. server.use(bodyParser.urlencoded(
    {erweitert:false}
))

server.post('/mylogin',(req,res)=>{
    Konsole.log(Anforderung.Body);
    res.send('Anmeldung erfolgreich');
})

(2) MySQL-Modul

Normale Verbindung

//Das MySQL-Modul einführen const mysql =require('mysql');
//1. Normale Verbindung //1.1 Verbindung herstellen var connection = mysql.createConnection({
    Host: '127.0.0.1',
    Port:'3306',
    Benutzer:'root',
    Passwort:'1234',
    Datenbank:'tedu'
});
//1.2 Verbindung ausführen connection.connect();
//SQL-Anweisung ausführen connection.query('select * from emp',(err,result)=>{
    wenn(err) throw err;
    console.log(Ergebnis);
});
//Verbindung schließenconnection.end();

Verbindungspool

const mysql = erfordern('mysql');
//Verbindungspool verwenden //Verbindungspoolobjekt erstellen var pool = mysql.createPool(
    {
        Host: '127.0.0.1',
        Port:'3306',
        Benutzer:'root',
        Passwort:'1234',
        Datenbank:'tedu',
        Verbindungslimit: 20
    }
);
//SQL-Anweisung ausführen pool.query('select * from emp where eid=2',(err,result)=>{
    wenn(err) throw err;
    console.log(Ergebnis);
})
const mysql = erfordern('mysql');
var pool = mysql.createPool({
    'Host':'127.0.0.1',
    Port:'3306',
    Benutzer:'root',
    Passwort:'1234',
    Datenbank:'tedu',
    Verbindungslimit: 20
})
//Verwenden Sie Platzhalter, um Daten einzufügen // pool.query("insert into emp values(?,?,?,?,?,?)",[null,'yt','1','1995-12-24','9000','20'],(err,result)=>{
// wenn(err) throw err;
// console.log(Ergebnis);
// });
//Objekt zum Einfügen von Daten verwenden//var emp={
// eid:null,
// ename:'html',
// Geschlecht:1,
// Geburtstag:'1995-12-25',
//Gehalt:10000,
//Abteilungs-ID:30
// }
// pool.query('in emp-Set einfügen?',[emp],(err,Ergebnis)=>{
// wenn(err) throw err;
// console.log(Ergebnis);
// })
//Verwenden Sie den Platzhalter, um die Daten mit der Nummer 10 zu löschen pool.query('delete from emp where eid=?',[10],(err,result)=>{
    wenn(err) throw err;
    console.log(Ergebnis);
    wenn(Ergebnis.betroffeneZeilen>0){
        console.log('Erfolgreich gelöscht');
    }
    anders{
        console.log('Löschen fehlgeschlagen');
    }
})

Oben finden Sie eine kurze Erläuterung der detaillierten Typen von node.js-Middleware. Weitere Informationen zu node.js-Middleware finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So implementieren Sie Mock-Plugin-Middleware in Node
  • Eine kurze Diskussion über den Node.js-Middlewaremodus
  • Detaillierte Erläuterung der Routing-, Middleware-, GE-Anforderungs- und Post-Anforderungsparameter in node.js
  • Detaillierte Erklärung zur Verwendung der node.js-Middleware Express-Session
  • Tiefgreifendes Verständnis der Express-Middleware in nodejs
  • Nodejs-Entwicklung – Express-Routing und Middleware
  • NodeJS-Lernhinweise: Beispiel einer Connect-Middleware-Anwendung
  • NodeJS-Lernhinweise: Middleware-Modul verbinden (I)
  • Nodejs implementiert Blacklist-Middleware-Design

<<:  MySQL 5.7.21 Installations- und Konfigurations-Tutorial

>>:  Detaillierte Erläuterung des Nginx-HTTP-Ressourcenanforderungslimits (drei Methoden)

Artikel empfehlen

Webdesign-Erfahrung: Selbstgerechte Webdesigner

1. Trash oder Klassiker? Die Webtechnologie aktua...

So verwenden Sie Docker Swarm zum Erstellen von WordPress

Ursache Ich habe WordPress einst auf Vultr einger...

Vue implementiert die browserseitige Code-Scan-Funktion

Hintergrund Vor nicht allzu langer Zeit habe ich ...

So erreichen Sie ein zentriertes Layout im CSS-Layout

1. Legen Sie den übergeordneten Container auf ein...

Informationen zur Installation des Python3.8-Images im Docker

Offizielle Docker Hub-Website 1. Suchen Sie nach ...

5 Befehle zur Verwendung des Rechners in der Linux-Befehlszeile

Hallo zusammen, ich bin Liang Xu. Bei der Verwend...

Umfassende Erklärung zum CocosCreator Hot Update

Inhaltsverzeichnis Vorwort Was ist Hot Change Coc...

Eine kurze Diskussion über die VUE Uni-App-Entwicklungsumgebung

Inhaltsverzeichnis 1. Über die visuelle Schnittst...

Miniprogramm Benutzerdefinierte TabBar-Komponentenkapselung

In diesem Artikelbeispiel wird der spezifische Co...

Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server

Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...

Änderung des Zeitzonenproblems von MySQL-Containern in Docker

Vorwort Als Ahhang das Springboot-Projekt entwick...