Anteriormente me uní a un grupo de cuaderno de estudio para compartir mis resultados de aprendizaje a través de notas de estudio. Envía uno aquí también.
Cuando escribamos una web, inevitablemente necesitaremos usar cookies. Dado que Node.js tiene el marco web Express, podemos crear fácilmente sitios web. Cuando se usa Express, el complemento Cookie-Parser a menudo se usa. Hoy analizaremos este complemento.
Este complemento generalmente se usa como middleware, App.use (CookieParser ()), para que pueda manejar cada cookie solicitada.
A juzgar por el nombre, esta es una herramienta para explicar las cookies. Req.cookies puede recuperar las cookies pasadas y convertirlas en objetos. A continuación, vamos a sumergirnos en su código fuente.
Primero, veamos index.js
El código del código de copia es el siguiente: var cookie = requirir ('cookie');
var parse = request ('./ lib/parse');
Hay 2 referencias aquí, una es Cookie y la otra es la función central de la cookie-Parser. El módulo de cookie solo proporciona 2 métodos, uno es serialize y el otro es un análisis.
El método Serialize recibe clave y Val y lo serializa.
La copia del código es la siguiente: var hdr = cookie.serialize ('foo', 'bar'); // hdr = 'foo = bar';
El método Paser convierte las cadenas en objetos
La copia del código es la siguiente: var cookies = cookie.parse ('foo = bar; cat = meow; dog = ruff'); // cookies = {foo: 'bar', gato: 'meow', perro: 'ruff'};
Veamos lo siguiente, que es la función principal CookiePaser of Cookie-Parser.
La copia del código es la siguiente: exports = módulo.exports = function cookieParser (secreto, opciones) {
Función de retorno CookieParser (Req, Res, Next) {// Obtener el objeto Req, Res de la solicitud
if (req.cookies) return next (); // Si ya hay un objeto de cookie, salga del middleware y continúe ejecutando
var cookies = req.headers.cookie; // Obtener galletas de encabezados
req.secret = secret; // Si se pasa un secreto, establezca en el objeto Req
req.cookies = object.create (nulo); // crear un objeto vacío a req.cookies
req.signedcookies = object.create (nulo); // crear un objeto vacío a req.signedcookies
// No cookies
if (! cookies) {// Si no obtienes galletas de encabezados
regresar next (); // Salga del middleware y continúa ejecutando
}
req.cookies = cookie.parse (cookies, opciones); // Llame al analizador de cookies para convertir la cadena de cookies en el objeto Cookies.
// cookies firmadas
if (secret) {// si se establece secreto, use los dos métodos de análisis para firmar la cookie.
req.signedcookies = parse.signedcookies (req.cookies, secreto);
req.signedcookies = parse.jsoncookies (req.signedcookies);
}
// Pase las galletas json
req.cookies = parse.jsoncookies (req.cookies); // Convertir objeto req.cookies
próximo();
};
};
Después de leer esta función principal, todavía estamos un poco confundidos, lo que resulta ser su archivo principal parse.js. Veamos para qué es este archivo la próxima vez.
Lo anterior es todo el contenido del middleware Node.js Cookie-Parser. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.