Уроки Node JS

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

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

В этом уроке мы научимся обрабатывать ссылки и выводить различные 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 месяца

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

Современная вёрстка адаптивного веб-сайта
Изучение MongoDB / Работа с базой данных
8 уроков