Начало работы с 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 |
|
Теперь в приложении определено три маршрута, которые будут обрабатываться сервером: