Ранее я присоединился к учебной группе ноутбуков, чтобы поделиться своими результатами обучения с помощью примечаний на изучение. Отправьте здесь тоже.
Когда мы пишем Интернет, нам неизбежно необходимо использовать файлы cookie. Поскольку node.js имеет экспресс -веб -структуру, мы можем легко создавать веб -сайты. При использовании Express часто используется плагин для печенья. Сегодня мы проанализируем этот плагин.
Этот плагин обычно используется в качестве промежуточного программного обеспечения, app.use (cookieparser ()), чтобы он мог обрабатывать каждое запрошенное cookie.
Судя по названию, это инструмент для объяснения файлов cookie. Req.cookies может извлечь прошедшие файлы cookie и преобразовать их в объекты. Затем давайте погрузимся в его исходный код.
Во -первых, давайте посмотрим на index.js
Код кода копирования следующим образом: var cookie = require ('cookie');
var parse = require ('./ lib/parse');
Здесь есть 2 ссылки, один-cookie, а другой-основная функция печенья. Модуль cookie предоставляет только 2 метода, один сериализируется, а другой - Parse.
Метод Serialize получает ключ и Val и сериализует его.
Кода кода выглядит следующим образом: var hdr = cookie.serialize ('foo', 'bar'); // hdr = 'foo = bar';
Метод Paser преобразует строки в объекты
Кода -код выглядит следующим образом: var cookie = cookie.parse ('foo = bar; cat = meow; dog = ruff'); // cookie = {foo: 'bar', cat: 'meow', dog: 'ruff'};
Давайте посмотрим на следующее, которое является основным функциональным cookiepaser of Cookie-Parser.
Копия кода выглядит следующим образом: exports = module.exports = function cookieParser (секрет, опции) {
Функция возврата cookieParser (req, res, next) {// Получить объект REQ, Res из запроса
if (req.cookies) return next (); // Если уже есть объект cookie, выйдите из промежуточного программного обеспечения и продолжайте работать
var cookies = req.headers.cookie; // получить печенье от заголовков
req.secret = секрет; // Если введен секрет, установлена на объект REQ
req.cookies = object.create (null); // Создать пустой объект для req.cookies
req.signedcookies = object.create (null); // Создать пустой объект для req.signedcookies
// нет печенья
if (! cookie) {// Если вы не получаете файлы cookie от заголовков
вернуть Next (); // выйти из промежуточного программного обеспечения и продолжить работу
}
req.cookies = cookie.parse (файлы cookie, варианты); // Позвоните Cookie Parse, чтобы преобразовать струну cookie в объект cookie.
// Parse подписал печенье
if (secret) {// Если секрет, используйте два метода Parse, чтобы подписать файл cookie.
req.signedcookies = parse.signedcookies (req.cookies, secret);
req.signedcookies = parse.jsoncookies (req.signedcookies);
}
// parse json cookie
req.cookies = parse.jsoncookies (req.cookies); // конвертировать объект req.cookies
следующий();
};
};
Прочитав эту основную функцию, мы все еще немного запутались, что является его основным файлом parse.js. Давайте посмотрим, что этот файл для следующего раза.
Выше всего содержит все содержание промежуточного программного обеспечения Node.js Cookie-Parser. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.