Node JS

Уроки Node JS и Express для начинающих

17 уроков Консультации Справочник Компилятор
Школа программирования / Видеокурсы / Уроки Node JS и Express для начинающих / #11 - Маршрутизация (отслеживание URL)

#11 - Маршрутизация (отслеживание URL)

#11 - Маршрутизация (отслеживание URL)


Node JSJavaScript

В этом уроке мы научимся обрабатывать ссылки и выводить различные HTML-страницы в зависимости от того, какой url-адрес был введен в строку браузера.

Видео урок:

В прошлых уроках мы уже создавали локальный сервер на основе модуля http. Также мы уже умеем выводить данные непосредственно на сам сайт. Осталось лишь отслеживать URL-адрес и в зависимости от него выводить разную информацию на страницу.

Для этого существует параметр request (запрос), который содержит значение url (адрес страницы на данный момент). Все что нам необходимо делать, так это проверять данное значение и в зависимости от него выдавать разную информацию пользователю.
var server = http.createServer(function(req, res) {
  // В req.url находится текущий адрес страницы
  if (req.url === '/') {
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
    fs.createReadStream(__dirname + '/index.html').pipe(res);
  } else if (req.url === '/news/best/articles') {
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
    fs.createReadStream(__dirname + '/news-best.html').pipe(res);
  }
});
Мы проверяем req.url и при этом используем три знака равенства чтобы проверить не только на одинаковые значения, но и на одинаковый тип данных. Таким образом мы можем проверять любой URL-адрес и выдавать ту страницу, которая будет подходить под этот адрес.

Подобная реализация отслеживания URL может показаться сложной и совсем не читабельной. Это действительно так, поэтому в этом курсе мы дополнительно будем изучать библиотеку Express, которая решает многие непонятные моменты в Node. При использовании Express вы заметите, что отслеживание URL будет намного проще и логичнее.

Исходный код

Весь код будет доступен после подписки на проект!

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям!

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы получить большое задание. Такие задания есть к каждому курсу. В них входит задание, методика решения, а также "Готовое решение".
PS: подобные задания доступны при подписке от 1 месяца!


Node JSJavaScript

Также стоит посмотреть