나는 이전에 학습 노트 그룹에 합류하여 학습 노트를 통해 학습 결과를 공유했습니다. 여기에도 보내십시오.
웹을 작성할 때 필연적으로 쿠키를 사용해야합니다. Node.js에는 Express 웹 프레임 워크가 있으므로 웹 사이트를 쉽게 구축 할 수 있습니다. Express를 사용하면 쿠키 파서 플러그인이 종종 사용됩니다. 오늘 우리는이 플러그인을 분석 할 것입니다.
이 플러그인은 일반적으로 미들웨어, app.use (cookieparser ())로 사용되므로 요청 된 모든 쿠키를 처리 할 수 있습니다.
이름으로 판단하면 쿠키를 설명하는 도구입니다. req.cookies는 통과 된 쿠키를 검색하여 물체로 변환 할 수 있습니다. 다음으로 소스 코드를 살펴 보겠습니다.
먼저 index.js 를 살펴 보겠습니다
사본 코드 코드는 다음과 같습니다. var 쿠키 = 요구 ( '쿠키');
var parse = require ( './ lib/parse');
여기에는 2 개의 참조가 있으며, 하나는 쿠키이고 다른 하나는 쿠키 파서의 핵심 기능입니다. 쿠키 모듈은 2 가지 방법 만 제공하며, 하나는 직렬화되고 다른 하나는 구문 분석됩니다.
직렬화 방법은 키와 VAL을 수신하고 직렬화합니다.
코드 사본은 다음과 같습니다. var hdr = cookie.serialize ( 'foo', 'bar'); // hdr = 'foo = bar';
파이저 방법은 문자열을 물체로 변환합니다
코드 사본은 다음과 같습니다. var 쿠키 = cookie.parse ( 'foo = bar; cat = meow; dog = ruff'); // 쿠키 = {foo : 'bar', cat : 'meow', dog : 'ruff'};
쿠키 파서의 주요 기능 요리사 인 다음을 살펴 보겠습니다.
코드 사본은 다음과 같습니다. Exports = module.exports = function cookieparser (Secret, Options) {
return function cookieparser (req, res, next) {// 요청에서 req, res object를 가져옵니다.
if (req.cookies) return next (); // 이미 쿠키 객체가있는 경우 미들웨어를 종료하고 계속 실행하십시오.
var 쿠키 = req.headers.cookie; // 헤더에서 쿠키를 얻습니다
req.secret = 비밀; // 비밀이 전달되면 REQ 객체로 설정하십시오.
req.cookies = object.create (null); // req.cookies에 빈 개체를 만듭니다
req.signedCookies = Object.Create (null); // req.signedCookies에 빈 개체를 만듭니다
// 쿠키가 없습니다
if (! 쿠키) {// 헤더에서 쿠키를 얻지 못하면
반환 다음 (); // 미들웨어를 종료하고 계속 실행하십시오
}
req.cookies = cookie.parse (쿠키, 옵션); // 쿠키 문자열을 쿠키 객체로 변환하려면 쿠키 구문 분석을 호출합니다.
// 서명 된 쿠키를 구문 분석합니다
if (Secret) {// 비밀이 설정된 경우 두 가지 구문 분석 방법을 사용하여 쿠키에 서명하십시오.
req.signedCookies = parse.signedCookies (req.Cookies, Secret);
req.signedCookies = parse.jsonCookies (req.signedCookies);
}
// JSON 쿠키를 구문 분석합니다
req.cookies = parse.jsoncookies (req.cookies); // req.cookies 객체를 변환합니다
다음();
};
};
이 주요 기능을 읽은 후에도 우리는 여전히 약간 혼란스러워서 주요 파일 parse.js입니다. 다음 에이 파일이 무엇인지 살펴 보겠습니다.
위는 node.js 쿠키 패러 미들웨어의 전체 내용입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.