Начало работы¶
Создадим первое приложение на Node.js. Создайте корневую директорию проекта app с единственным файлом app.js.
app.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | |
Чтобы запустить написанный Node.js сервер выполните команду.
1 | |
Если нигде не было допущено ошибки, то в консоли вы увидите строку Server listens http://127.0.0.1:7000, в противном случае Node.js сервер выведет подробное сообщение об ошибке.
Перейдите по описанным URL (/home и /about) или сделайте POST-запросы (/api/admin и /api/user), чтобы убедиться в работоспособности созданного сервера.
Разберем написанный код подробнее.
В самом начале подключается имеющийся по умолчанию в Node.js модуль http, который используется для создания HTTP-сервера. Любой модуль, установленный из репозитория подключается с помощью функции require(), в качестве аргумента которой передается название пакета. Node.js require() сама знает, где искать запрашиваемые пакеты.
Далее с использованием метода createServer() модуля http создается Node.js сервер. Метод createServer() принимает два аргумента:
- объект запроса (ссылка) - содержит данные запроса;
- объект ответа (ссылка) - нужен для управления ответом на запрос.
С помощью условного оператор switch организуется структура сервера и описываются ответы на указанные запросы. Если запрашиваемый URL не существует - возвращается 404 код ответа и текст Not found.
Код ответа задается свойству statusCode объекта ответа, заголовки задаются с помощью метода setHeader(), а ответ на запрос осуществляется вызовом метода end().
Названия маршрутов не чувствительны к регистру.
Далее метод listen() запускает Node.js сервер. Передаваемые методу параметры:
- хост;
- порт;
- callback-функция, которая будет вызвана сразу после запуска сервера.
Созданный в примере сервер трудно масштабируется и содержит много кода, к тому же весь процесс приходится контролировать самостоятельно. На практике разработка Node.js приложений ведется с использованием фреймворков, самый популярный из которых - Express.