Уроки Node JS

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

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

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

Видеоурок

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


Для этого существует параметр request (запрос), который содержит значение url (адрес страницы на данный момент). Все что необходимо делать, так это проверять данное значение и в зависимости от него выдавать информацию пользователю.


Пример отслеживания 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 месяца

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

Уроки Angular для начинающих
7 уроков
Изучение MongoDB / Работа с базой данных
8 уроков
Курс по React JS для начинающих
14 уроков
Создание приложения на React JS / Использование API
7 уроков
Изучение стека MEAN: MongoDB, Express, Angular и Node JS
10 уроков
Комментарии для сайта Cackle