Начало работы с Express¶
В этой главе мы рассмотрим создание сервера с помощью фреймворка Express. Казалось бы, зачем нам нужен дополнительный фреймворк, если мы можем воспользоваться готовым модулем http, который есть в Node.js API. Однако Express сам использует модуль http, но вместе с тем предоставляет ряд готовых абстракций, которые упрощают создание сервера и серверной логики, в частности, обработка отправленных форм, работа с куками, CORS и т. д.
Исходный код фреймворка можно посмотреть в репозитории на гитхабе по адресу https://github.com/expressjs/express.
Создадим для проекта новый каталог, который назовем, к примеру, expressapp. Для хранения информации обо всех зависимостях проекта определим в этом каталоге новый файл package.json:
1 2 3 4 5 6 7 | |
Далее перейдем к этому каталогу в командной строке/терминале и для добавления всех нужных пакетов выполним команду:
1 | |
Создадим в каталоге проекта новый файл app.js:
1 2 3 4 5 6 7 8 9 10 11 | |
Для использования Express в начале надо создать объект, который будет представлять приложение:
1 | |
Для обработки запросов в Express определено ряд встроенных функций, и одной из таких является функция app.get(). Она обрабатывает GET-запросы протокола HTTP и позволяет связать маршруты с определенными обработчиками. Для этого первым параметром передается маршрут, а вторым - обработчик, который будет вызываться, если запрос к серверу соответствует данному маршруту:
1 2 3 4 | |
Маршрут / представляет корневой маршрут.
Для запуска сервера вызывается метод app.listen(), в который передается номер порта.
Запустим проект и обратимся в браузере по адресу http://localhost:3000/:
И что важно, Express опирается на систему маршрутов, поэтому все другие запросы, которые не соответствуют корневому маршруту /, не будут обрабатываться:
Теперь изменим файл app.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Теперь в приложении определено три маршрута, которые будут обрабатываться сервером:



