Saya sebelumnya bergabung dengan grup notebook studi untuk berbagi hasil pembelajaran saya melalui catatan studi. Kirim satu di sini juga.
Saat kami menulis web, kami pasti perlu menggunakan cookie. Karena Node.js memiliki kerangka kerja web ekspres, kami dapat dengan mudah membangun situs web. Saat menggunakan Express, plug-in cookie-parser sering digunakan. Hari ini kami akan menganalisis plug-in ini.
Plugin ini biasanya digunakan sebagai middleware, app.use (cookieParser ()), sehingga dapat menangani setiap cookie yang diminta.
Dilihat dari nama, ini adalah alat untuk menjelaskan cookie. Req.cookies dapat mengambil cookie yang ditularkan dan mengubahnya menjadi objek. Selanjutnya, mari selami kode sumbernya.
Pertama, mari kita lihat index.js
Kode kode salin adalah sebagai berikut: var cookie = membutuhkan ('cookie');
var parse = membutuhkan ('./ lib/parse');
Ada 2 referensi di sini, satu cookie dan yang lainnya adalah fungsi inti dari cookie-parser. Modul cookie hanya menyediakan 2 metode, satu serial dan yang lainnya parse.
Metode Serialize menerima kunci dan Val dan membuat serial.
Salinan kode adalah sebagai berikut: var hdr = cookie.serialize ('foo', 'bar'); // hdr = 'foo = bar';
Metode Paser mengubah string menjadi objek
Salinan kode adalah sebagai berikut: var cookies = cookie.parse ('foo = bar; cat = meow; dog = ruff'); // cookies = {foo: 'bar', cat: 'meow', dog: 'ruff'};
Mari kita lihat yang berikut ini, yang merupakan cookiePaser fungsi utama cookie-parser.
Salinan kode adalah sebagai berikut: Ekspor = Module.Exports = Function CookIeParser (Secret, Options) {
return function cookieParser (req, res, next) {// Dapatkan objek req, res dari permintaan
if (req.cookies) kembali selanjutnya (); // Jika sudah ada objek cookie, keluar dari middleware dan terus berjalan
var cookies = req.headers.cookie; // Dapatkan cookie dari header
req.secret = rahasia; // Jika ada rahasia yang disahkan, atur ke objek req
req.cookies = object.create (null); // Buat objek kosong ke req.cookies
req.signedcookies = object.create (null); // Buat objek kosong ke req.signedcookies
// tidak ada cookie
if (! cookies) {// jika Anda tidak mendapatkan cookie dari header
kembali selanjutnya (); // Keluarlah middleware dan terus berjalan
}
req.cookies = cookie.parse (cookie, opsi); // Hubungi Cookie Parse untuk mengonversi tali cookie menjadi objek cookie.
// Parse Cookie yang Ditandatangani
if (Secret) {// Jika rahasia diatur, gunakan dua metode parse untuk menandatangani cookie.
req.signedcookies = parse.signedcookies (req.cookies, rahasia);
req.signedcookies = parse.jsoncookies (req.signedcookies);
}
// parse cookie json
req.cookies = parse.jsoncookies (req.cookies); // Konversi objek req.cookies
Berikutnya();
};
};
Setelah membaca fungsi utama ini, kami masih sedikit bingung, yang kebetulan adalah file utamanya parse.js. Mari kita lihat apa file ini untuk waktu berikutnya.
Di atas adalah seluruh konten middleware cookie-cookie-cookie. Saya harap ini dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.