In den Dokumenten für das NodeJS- express
Modul enthält der Beispielcodeapp.use(...)
.
Was ist die use
Funktion und wo ist sie definiert?
In den Dokumenten für das NodeJS- express
Modul enthält der Beispielcodeapp.use(...)
.
Was ist die use
Funktion und wo ist sie definiert?
Antworten:
Das App-Objekt wird beim Erstellen des Express-Servers instanziiert. Es verfügt über einen Middleware- Stack , der angepasst werden kann
app.configure()
(dieser ist in Version 4.x veraltet). .Um Ihre Middleware einzurichten, können Sie
app.use(<specific_middleware_layer_here>)
für jede Middleware-Schicht, die Sie hinzufügen möchten, aufrufen (sie kann für alle Pfade generisch sein oder nur für bestimmte Pfade ausgelöst werden, die Ihr Server verarbeitet), und sie wird Ihrem Express- Middleware-Stack hinzugefügt . Middleware-Ebenen können einzeln in mehreren Aufrufenuse
oder sogar alle gleichzeitig in Reihe mit einem Aufruf hinzugefügt werden . Weitere Informationen finden Sie in deruse
Dokumentation .Um ein Beispiel für das konzeptionelle Verständnis von Express Middleware zu geben, sieht mein App Middleware Stack (app.stack) folgendermaßen aus, wenn mein App-Objekt als JSON in der Konsole protokolliert wird:
Wie Sie vielleicht ableiten können, habe ich usw. angerufen
app.use(express.bodyParser())
undapp.use(express.cookieParser())
diese Express-Middleware-Ebenen zum Middleware-Stack hinzugefügt. Beachten Sie, dass die Routen leer sind. Dies bedeutet, dass ich beim Hinzufügen dieser Middleware-Ebenen angegeben habe, dass sie auf jeder Route ausgelöst werden. Wenn ich eine benutzerdefinierte Middleware-Schicht hinzugefügt hätte, die nur auf dem Pfad ausgelöst wurde, der/user/:id
als Zeichenfolge imroute
Feld dieses Middleware-Schicht-Objekts im obigen Stapelausdruck angezeigt würde.Jede Ebene fügt im Wesentlichen eine Funktion hinzu, die speziell Ihren Flow durch die Middleware behandelt.
ZB durch Hinzufügen
bodyParser
, sind Sie Ihren Server eingehende Anfragen durch die ausdrückliche Middleware gewährleistet . Das Parsen der eingehenden Anforderungen ist nun Teil des Verfahrens, das Ihre Middleware bei der Verarbeitung eingehender Anforderungen ausführt - alles nur, weil Sie angerufen habenapp.use(bodyParser)
.quelle
next()
Rückruf, den jede Middleware aufrufen soll, um die Verarbeitung an die nächste Funktion in der Pipeline weiterzuleiten. Das Routing-System (das erste Argument dafürapp.use()
) ermöglicht es der Pipeline, abhängig von der URL zu verzweigenuse
ist eine Methode zum Konfigurieren der Middleware, die von den Routen des Express-HTTP-Serverobjekts verwendet wird. Die Methode ist als Teil von Connect definiert , auf dem Express basiert.Update Ab Version 4.x ist Express nicht mehr von Connect abhängig .
Die Middleware-Funktionen, die zuvor in Express enthalten waren, befinden sich jetzt in separaten Modulen. Siehe die Liste der Middleware-Funktionen .
quelle
app.use(function(){ var object = new SomeConstructor; next(); })
Jede app.use (Middleware) wird jedes Mal aufgerufen, wenn eine Anfrage an den Server gesendet wird.
quelle
app.use () dient zum Mounten der Middleware-Funktion oder zum Mounten an einem angegebenen Pfad. Die Middleware-Funktion wird ausgeführt, wenn der Basispfad übereinstimmt.
Beispiel: Wenn Sie app.use () in indexRouter.js verwenden, gehen Sie wie folgt vor:
Mounten Sie im obigen Code app.use () den Pfad auf '/ ads' zu adsRouter.js.
Jetzt in adsRouter.js
In adsRouter.js lautet der Pfad für ads- '/ ads / show' wie folgt und funktioniert dann gemäß controllerIndex.ads.showAd ().
app.use ([Pfad], Rückruf, [Rückruf]): Wir können einen Rückruf hinzufügen.
quelle
app.use () fungiert als Middleware in Express-Apps. Im Gegensatz zu app.get () und app.post () können Sie app.use () tatsächlich verwenden, ohne die Anforderungs-URL anzugeben. In einem solchen Fall wird es jedes Mal ausgeführt, unabhängig davon, welche URL getroffen wurde.
quelle
app.use () funktioniert so:
was sehr einfach.
Und nur dann erledigt Express den Rest der Dinge wie Routing.
quelle
app.use ist eine Möglichkeit, Middleware oder eine Kette von Middlewares zu registrieren (oder mehrere Middlewares) oder eine Zwischenroutenlogik ausgeführt wird, abhängig von der Reihenfolge der Middleware-Registrierungssequenz.
Middleware: Formen Kette von Funktionen / Middleware-Funktionen mit 3 Parametern req, res, und weiter zum nächsten . Als nächstes folgt der Rückruf, der sich auf die nächste Middleware-Funktion in der Kette bezieht, und im Fall der letzten Middleware-Funktion der Kette zeigt next auf die erste Middleware-Funktion der nächsten registrierten Middlerare-Kette.
quelle
In Express, wenn wir Express aus "Express" importieren und app = express () verwenden; dann App mit allen Funktionen von Express
wenn wir app.use () verwenden
mit jeder Modul- / Middleware-Funktion, die im gesamten Express-Projekt verwendet werden kann
quelle
app.use
ist eine Funktion, die Middleware erfordert. Zum Beispiel:Dieses Beispiel zeigt die im
/user/:id
Pfad installierte Middleware-Funktion . Diese Funktion wird für jede Art von HTTP-Anforderung in der ausgeführt/user/:id
Pfad ausgeführt.Es ähnelt dem REST-Webserver. Verwenden Sie einfach different
/xx
, um verschiedene Aktionen darzustellen.quelle
use
tun kann. Ich musste nur wissen, dass es das war (und jedes Kontextwissen, um zu wissen, wie ich selbst mehr forschen kann).app.use ist Woks als Middleware für App-Anfragen. Syntax
Beispiel
Sie können es auch verwenden, wenn Sie Ihre Anfrage weiterleiten.
quelle
Middleware ist ein allgemeiner Begriff für Software, die zum "Zusammenkleben" dient. App.use ist also eine Methode zum Konfigurieren der Middleware, zum Beispiel: Analysieren und Behandeln des Anforderungshauptteils: app.use (bodyParser.urlencoded ({erweitert: true) })); app.use (bodyParser.json ()); Es gibt viele Middlewares, die Sie in Ihrer Express-Anwendung verwenden können. Lesen Sie einfach das Dokument: http://expressjs.com/en/guide/using-middleware.html
quelle
app.use wendet die angegebene Middleware auf den Haupt-App-Middleware-Stack an. Beim Anhängen von Middleware an den Haupt-App-Stack spielt die Reihenfolge der Anhänge eine Rolle. Wenn Sie Middleware A vor Middleware B anhängen, wird Middleware A immer zuerst ausgeführt. Sie können einen Pfad angeben, für den eine bestimmte Middleware gilt. Im folgenden Beispiel wird "Hallo Welt" immer vor "Frohe Feiertage" protokolliert.
quelle
Es ermöglicht Ihnen , jede Middleware verwenden ( lesen Sie mehr ) wie
body_parser
,CORS
usw. Middleware können folgende Änderungen vornehmenrequest
undresponse
Objekte. Es kann auch einen Code ausführen.quelle
Sie können auch Ihre eigene Middleware-Funktion wie erstellen
Es enthält drei Parameter
req
,res
,next
können Sie es auch für die Authentifizierung verwenden und Validierung von Eingabe params Ihren Controller sauber zu halten.
next()
wird verwendet, um zur nächsten Middleware oder Route zu gelangen.Sie können die Antwort von der Middleware senden
quelle
Binden Sie Middleware auf Anwendungsebene mithilfe der Funktionen app.use () und app.METHOD () an eine Instanz des App-Objekts, wobei METHOD die HTTP-Methode der Anforderung ist, die von der Middleware-Funktion verarbeitet wird (z. B. GET, PUT oder POST) in Kleinbuchstaben.
quelle
Kurz gesagt, app.use () unterstützt alle Arten von Anforderungen [z. B. get, post, ...] und wird daher hauptsächlich zum Einrichten von Middware verwendet. oder kann verwendet werden, wenn die Routen und Funktionen getrennt sind
Beispiel:
und functionName befindet sich in einer anderen Datei
quelle
app.use()
ist eine Middleware-Methode.Die Middleware-Methode ist wie ein Interceptor in Java. Diese Methode wird immer für alle Anforderungen ausgeführt.
Zweck und Verwendung von Middleware: -
quelle
app.use
wird von express (nodejs Middleware Framework) erstellt.
app.use wird verwendet, um eine bestimmte Abfrage im Intilisierungsprozess auszuführen.
server.js (Knoten)
var app = require ('express'); Daher wird die Funktion app.use jedes Mal aufgerufen, wenn der Server hochgefahren ist
app.use(bodyparser.json())
quelle
app.use ist Middleware auf Anwendungsebene
Binden Sie Middleware auf Anwendungsebene mithilfe der Funktionen app.use () und app.METHOD () an eine Instanz des App-Objekts, wobei METHOD die HTTP-Methode der Anforderung ist, die von der Middleware-Funktion verarbeitet wird (z. B. GET, PUT oder POST) in Kleinbuchstaben.
Sie können alle Anforderungen überprüfen. Sie möchten beispielsweise das Token / Zugriffstoken überprüfen, das Sie zum Schreiben einer Middleware benötigen, indem Sie app.use verwenden, um das Token in der Anforderung zu überprüfen.
Dieses Beispiel zeigt eine Middleware-Funktion ohne Mount-Pfad. Die Funktion wird jedes Mal ausgeführt, wenn die App eine Anfrage erhält.
Referenz von https://expressjs.com/en/guide/using-middleware.html
quelle