سبق أن انضممت إلى مجموعة دفتر دراسية لمشاركة نتائج التعلم الخاصة بي من خلال ملاحظات الدراسة. أرسل واحدة هنا أيضًا.
عندما نكتب شبكة ، سنحتاج حتماً إلى استخدام ملفات تعريف الارتباط. نظرًا لأن Node.js لديها إطار عمل Express Web ، يمكننا بسهولة إنشاء مواقع الويب. عند استخدام Express ، غالبًا ما يتم استخدام المكون الإضافي للملفات تعريف الارتباط. اليوم سوف نحلل هذا المكون الإضافي.
عادةً ما يتم استخدام هذا البرنامج المساعد كبرامج وسيطة ، app.use (cookieparser ()) ، بحيث يمكنه التعامل مع كل ملف تعريف ارتباط مطلوب.
انطلاقًا من الاسم ، هذه أداة لشرح ملفات تعريف الارتباط. يمكن لـ req.cookies استرداد ملفات تعريف الارتباط التي تم تمريرها وتحويلها إلى كائنات. بعد ذلك ، دعنا نغوص في رمز المصدر.
أولاً ، دعونا نلقي نظرة على index.js
رمز كود النسخ كما يلي: var cookie = require ('cookie') ؛
var parse = required ('./ lib/parse') ؛
هناك مراجعان هنا ، أحدهما ملف تعريف الارتباط والآخر هو الوظيفة الأساسية لسيارات ملفات تعريف الارتباط. توفر وحدة ملفات تعريف الارتباط طريقتين فقط ، إحداها تسلسل والآخر تحليل.
تستقبل طريقة التسلسل المفتاح وفال وتسلسلها.
نسخة الكود كما يلي: var hdr = cookie.serialize ('foo' ، 'bar') ؛ // hdr = 'foo = bar' ؛
طريقة Paser تحول السلاسل إلى كائنات
نسخة الكود كما يلي: var cookies = cookie.parse ('foo = bar ؛ cat = meow ؛ dog = ruff') ؛ // cookies = {foo: 'bar' ، cat: 'meow' ، dog: 'ruff'} ؛
دعونا نلقي نظرة على ما يلي ، وهي الوظيفة الرئيسية cookiepaser من ملفات تعريف الارتباط.
نسخة الكود كما يلي: الصادرات = module.exports = وظيفة cookieparser (سرية ، خيارات) {
وظيفة الإرجاع cookieparser (req ، الدقة ، التالي) {// احصل على كائن REQ ، RES من الطلب
إذا كان (req.cookies) يعود بعد ذلك () ؛ // إذا كان هناك بالفعل كائن ملف تعريف ارتباط ، فقم بالخروج من البرامج الوسيطة واستمر في التشغيل
var cookies = req.headers.cookie ؛ // احصل على ملفات تعريف الارتباط من الرؤوس
req.secret = السر ؛ // إذا كان هناك سر تم تمريره ، فقم بالتعيين على كائن Req
req.cookies = object.create (null) ؛ // إنشاء كائن فارغ إلى req.cookies
req.signedCoOkies = object.create (null) ؛ // قم بإنشاء كائن فارغ لـ req.signedcookies
// لا ملفات تعريف الارتباط
إذا (! ملفات تعريف الارتباط) {// إذا لم تحصل على ملفات تعريف الارتباط من الرؤوس
العودة التالي () ؛ // الخروج من البرامج الوسيطة واستمر في التشغيل
}
req.cookies = cookie.parse (ملفات تعريف الارتباط ، الخيارات) ؛ // استدعاء ملف تعريف الارتباط لتحويل سلسلة ملفات تعريف الارتباط إلى كائن ملفات تعريف الارتباط.
// parse ملفات تعريف الارتباط الموقعة
إذا كان (Secret) {// إذا تم تعيين Secret ، فاستخدم طريقتي Parse للتوقيع على ملف تعريف الارتباط.
req.signedcookies = parse.signedcookies (req.cookies ، secret) ؛
req.signedcookies = parse.jsoncookies (req.signedcookies) ؛
}
// parse json cookies
req.cookies = parse.jsoncookies (req.cookies) ؛ // تحويل كائن req.cookies
التالي()؛
} ؛
} ؛
بعد قراءة هذه الوظيفة الرئيسية ، ما زلنا مرتبكين بعض الشيء ، والذي يحدث ليكون ملفه الرئيسي parse.js. دعونا نلقي نظرة على ماهية هذا الملف في المرة القادمة.
ما ورد أعلاه هو المحتوى الكامل لـ Node.js Cookie-Parser Middware. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.