私は以前、研究ノートグループに参加して、学習結果を学習したメモを通して共有しました。ここにも送ってください。
Webを書くときは、必然的にCookieを使用する必要があります。 node.jsにはExpress Webフレームワークがあるため、Webサイトを簡単に作成できます。 Expressを使用する場合、Cookie-Parserプラグインがよく使用されます。今日はこのプラグインを分析します。
このプラグインは通常、ミドルウェア、app.use(cookieparser())として使用されるため、要求されたすべてのCookieを処理できます。
名前から判断すると、これはCookieを説明するツールです。 Req.Cookiesは、渡されたCookieを取得して、オブジェクトに変換できます。次に、ソースコードに飛び込みましょう。
まず、 index.jsを見てみましょう
コピーコードは次のとおりです。varcookie = require( 'cookie');
var parse = require( './ lib/parse');
ここには2つの参照があります。1つはCookie、もう1つはCookie-Parserのコア関数です。 Cookieモジュールは2つのメソッドのみを提供し、1つはシリアル化され、もう1つは解析されます。
Serializeメソッドはキーを受け取り、VALを受信してシリアル化します。
コードコピーは次のとおりです。varhdr = cookie.serialize( 'foo'、 'bar'); // hdr = 'foo = bar';
Paserメソッドは、文字列をオブジェクトに変換します
コードコピーは次のとおりです。varcookies = cookie.parse( 'foo = bar; cat = meow; dog = ruff'); // cookies = {foo: 'bar'、cat: 'meow'、dog: 'ruff'};
Cookie-Parserのメイン関数Cookiepaserである以下を見てみましょう。
コードコピーは次のとおりです。Exports= module.Exports = function cookieparser(secret、options){
return function cookieparser(req、res、next){// req、resオブジェクトをリクエストから取得します
if(req.cookies)return next(); //既にCookieオブジェクトがある場合は、ミドルウェアを終了して実行を続けます
var cookies = req.headers.cookie; //ヘッダーからクッキーを取得します
req.secret = secret; // secretが渡された場合は、reqオブジェクトに設定します
req.cookies = object.create(null); // req.cookiesに空のオブジェクトを作成します
req.signedcookies = object.create(null); //空のオブジェクトを作成して、signedcookiesを作成します
//クッキーなし
if(!cookies){//ヘッダーからクッキーを取得しない場合
next(); //ミドルウェアを終了し、実行を続けます
}
req.cookies = cookie.parse(cookies、options); // Cookie Parseを呼び出して、Cookie StringをCookieオブジェクトに変換します。
//署名されたCookieを解析します
if(Secret){// Secretが設定されている場合、2つの解析方法を使用してCookieに署名します。
req.signedCookies = parse.signedcookies(req.cookies、secret);
req.signedcookies = parse.jsoncookies(req.signedcookies);
}
// JSON Cookiesを解析します
req.cookies = parse.jsoncookies(req.cookies); // req.cookiesオブジェクトを変換します
次();
};
};
この主な機能を読んだ後、私たちはまだ少し混乱していますが、これはたまたまそのメインファイルParse.jsです。次回このファイルが何であるかを見てみましょう。
上記は、node.js cookie-parserミドルウェアのコンテンツ全体です。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。