Страницы

Поиск по вопросам

четверг, 9 января 2020 г.

node.js роутинг без фреймворков

#nodejs #роутинг


В процессе освоения node.js по урокам в сети, столкнулся с таким явлением, как маршрутизация. 

Я её сути не понимаю, а объясняют её везде на примере фреймворка Express, что только
добавляет сложности.

Установил в свою заготовку приложения модуль router через npm, пошёл читать ридми,
а там: Router does one thing and one thing only - route http requests. 

Юмор я оценил, а как разобраться, не понял.
Прошу ткнуть в годный урок по роутингу без фреймворков. Чтобы не просто "как", но
и "зачем". Желательно на русском, но там уж как получится.

Ну, или вдруг не лень кому коротко и красноречиво описать, как вообще используется
роутер.

Вообще приму любую инфу по голой ноде.
    


Ответы

Ответ 1



Я так понимаю, речь про эту либу. Прошу ткнуть в годный урок по роутингу без фреймворков. Так эта библиотека работает без всяких фреймворков, поверх стандартного 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'} }); Здесь происходит добавление правил для роутера. При поступлении запроса от пользователя роутер сверяет запрос со списком правил, который вы ему дали и вызывает необходимый колбек с вашей логикой. Роутер просто упрощает работу. Нет необходимости самим парсить запрос и т.п.

Комментариев нет:

Отправить комментарий