Zuvor habe ich eine Studiennotorbuchgruppe beigetreten, um meine Lernergebnisse durch Studiennotizen zu teilen. Senden Sie auch einen hier.
Wenn wir ein Web schreiben, müssen wir zwangsläufig Cookies verwenden. Da Node.js das Express -Web -Framework hat, können wir einfach Websites erstellen. Bei der Verwendung von Express wird häufig das Cookie-Parser-Plug-In verwendet. Heute werden wir dieses Plug-In analysieren.
Dieses Plugin wird normalerweise als Middleware verwendet.
Nach dem Namen zu urteilen, ist dies ein Werkzeug, um Cookies zu erklären. Req.cookies können die übergebenen Cookies abrufen und sie in Objekte umwandeln. Lassen Sie uns als nächstes in den Quellcode eintauchen.
Schauen wir uns zunächst Index.js an
Der Copy -Code -Code lautet wie folgt: var cookie = Request ('Cookie');
var parse = fordern ('./ lib/parse');
Hier gibt es 2 Referenzen, einer ist Cookie und der andere ist die Kernfunktion des Cookie-Parsers. Das Cookie -Modul enthält nur 2 Methoden, eine ist serialisiert und der andere analysiert.
Die Serialize -Methode empfängt Schlüssel und VAL und serialisiert sie.
Die Codekopie lautet wie folgt: var hdr = cookie.serialize ('foo', 'bar'); // hdr = 'foo = bar';
Die Paser -Methode wandelt Strings in Objekte um
Die Codekopie lautet wie folgt: var cookies = cookie.parse ('foo = bar; cat = miow; hunde = ruff'); // cookies = {foo: 'bar', cat: 'meow', hund: 'ruff'};
Schauen wir uns Folgendes an, was die Hauptfunktion Cookiepaser von Cookie-Parser ist.
Die Codekopie lautet wie folgt: exports = module.exports = function cookieper (geheim, Optionen) {
Rückgabefunktion CookieSerser (Req, Res, Weiter) {// das Objekt REQ, RES -Objekt aus der Anforderung abrufen
if (req.cookies) return next (); // Wenn bereits ein Cookie -Objekt vorhanden ist, beenden Sie die Middleware und laufen Sie weiter aus
var cookies = req.Headers.cookie; // Kekse von Header bekommen
Req.secret = Secret; // Wenn ein Geheimnis übergeben ist, ist auf das REQ -Objekt festgelegt
req.cookies = Object.create (null); // Erstellen Sie ein leeres Objekt, um die Kookies zu wechseln
Req.SignedCookies = Object.create (null); // Erstellen Sie ein leeres Objekt, um die Köche zu veranlassen
// keine Kekse
if (! Cookies) {// Wenn Sie keine Cookies von Header erhalten
kehre als nächstes zurück (); // Verlassen Sie die Middleware und laufen Sie weiter aus
}
req.cookies = cookie.parse (Cookies, Optionen); // Cookie analysieren, um die Cookie -Zeichenfolge in Cookies -Objekt umzuwandeln.
// signierte Kekse analysieren
Wenn (Geheimnis) {// Wenn geheim eingestellt ist, verwenden Sie die beiden Methoden, um das Cookie zu unterschreiben.
Req.SignedCookies = Parse.SignedCookies (Req.cookies, Secret);
req.SignedCookies = parse.jsoncookies (req.Signedcookies);
}
// JSON -Kekse analysieren
req.cookies = parse.jsoncookies (req.cookies); // Das Objekt von Req.cookies konvertieren
nächste();
};
};
Nachdem wir diese Hauptfunktion gelesen haben, sind wir immer noch ein wenig verwirrt, was zufällig die Hauptdatei Parse.js ist. Schauen wir uns an, was diese Datei zum nächsten Mal ist.
Das obige ist der gesamte Inhalt des Node.js Cookie-Parser Middleware. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.