В процессе освоения node.js по урокам в сети, столкнулся с таким явлением, как маршрутизация.
Я её сути не понимаю, а объясняют её везде на примере фреймворка Express, что только добавляет сложности.
Установил в свою заготовку приложения модуль router через npm, пошёл читать ридми, а там: Router does one thing and one thing only - route http requests.
Юмор я оценил, а как разобраться, не понял.
Прошу ткнуть в годный урок по роутингу без фреймворков. Чтобы не просто "как", но и "зачем". Желательно на русском, но там уж как получится.
Ну, или вдруг не лень кому коротко и красноречиво описать, как вообще используется роутер.
Вообще приму любую инфу по голой ноде.
Ответ
Я так понимаю, речь про эту либу.
Прошу ткнуть в годный урок по роутингу без фреймворков.
Так эта библиотека работает без всяких фреймворков, поверх стандартного http
Ну, или вдруг не лень кому коротко и красноречиво описать, как вообще
используется роутер.
Вы можете и без него обойтись:
const http = require('http');
const srv = http.createServer(function(req, res) {
var uri = req.url; // вот тут у вас лежит теперь url, по которому пользователь обратился
});
srv.listen(8080);
Собственно всё, теперь вы можете обрабатывать uri как душе угодно.
Если использовать роутер:
route.get('/', function(req, res) {
// этот метод сработает, если пользователь открыл корень сайта
});
route.get('/{x}x{y}', function(req, res) {
// если пользователь открыл your_site/200x200, сработает этот метод
// в req.params будет {x:'200', y:'200'}
});
Здесь происходит добавление правил для роутера. При поступлении запроса от пользователя роутер сверяет запрос со списком правил, который вы ему дали и вызывает необходимый колбек с вашей логикой.
Роутер просто упрощает работу. Нет необходимости самим парсить запрос и т.п.
Комментариев нет:
Отправить комментарий