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

MySQL verwendet ein Limit, um die Beispielmethode für Paging zu implementieren

1. Grundlegende Implementierung des Limits Im All...

Auf den Alibaba Cloud Server Tomcat kann nicht zugegriffen werden

Inhaltsverzeichnis 1. Einleitung 2. Lösung 2.1 Ko...

Lösen Sie das Problem der Randzusammenführung

1. Die Ränder von Geschwisterelementen zusammenfü...

Wie stellt MySQL eine Verbindung zum entsprechenden Clientprozess her?

Frage Wie können wir bei einer bestimmten MySQL-V...

JS berechnet die Gewinnwahrscheinlichkeit basierend auf dem Preisgewicht

Inhaltsverzeichnis 1. Beispielszenario 1.1. Legen...

Was sind HTML-Inline-Elemente und Block-Level-Elemente und ihre Unterschiede

Ich erinnere mich an eine Frage, die der Intervie...

Detaillierter Prozess zum Upgrade von gcc (Version 10.2.0) in der CentOS7-Umgebung

Inhaltsverzeichnis Kurze Einleitung 1. Überprüfen...

Beispielcode zur Implementierung der Alipay-Sandbox-Zahlung mit Vue+SpringBoot

Laden Sie zunächst eine Reihe von Dingen aus der ...