В этом руководстве вы узнаете о веб-фреймворке Node.js Express и начнете создавать простой веб-сервер.
Express — это минималистичный и гибкий веб-фреймворк для Node.js и предоставляет набор функций, подходящих для создания веб-приложений.
Кроме того, Express предоставляет утилиты HTTP, которые позволяют быстро и легко разрабатывать API. Он также подходит для создания API для мобильных приложений.
Когда приложение node.js получает HTTP-запрос, оно передает запрос. Например:
https://localhost:3000/
Когда Express видит маршрут /, он выполняет функцию для обработки запроса, например, возвращает часть контента клиенту. Функция, которая обрабатывает маршрут, называется обработчиком маршрута.
Установка
Прежде чем использовать, вам необходимо установить его с помощью следующей команды npm :
npm install express
Если вы используете macOS или Linux, вместо этого вы можете использовать команду sudo npm.
sudo npm install express
Создание
- Сначала создайте новый каталог проекта с именем
express-server.
mkdir express-server
- Во-вторых, запустите команду
npm init --yes:
npm init --yes
- В-третьих, создайте файл
index.jsсо следующим кодом:
const express = require("express");
const app = express();
app.get("/",(request, response) => {
response.send("Hi there");
});
app.listen(3000,() => {
console.log("Listen on the port 3000...");
});Как это работает:
- Сначала загрузите модуль Express:
const express = require('express');express — это функция, которая возвращает экземпляр приложения Express.
- Во-вторых, вызовите функцию
express(), чтобы получить экземпляр приложения:
const app = express();
- В-третьих, определите обработчик маршрута, который обрабатывает HTTP-запрос GET к маршруту сайта
/
app.get('/',(req, res) => {
res.send('Hi there');
});Метод get() имеет два параметра:
- Первый параметр — это маршрут. В данном случае это корень сайта
/. - Второй параметр — это функция обратного вызова с двумя параметрами:
requestиresponse.
request представляет собой запрос HTTP, а параметр response описывает ответ HTTP. Это экземпляры классов Request и Response. У них есть много полезных свойств и методов для работы с HTTP-запросами и ответами.
В этом примере мы вызываем метод send() объекта ответа HTTP для отправки обратно простого текста.
Наконец, укажите node.js прослушивать HTTP-запрос на порту 3000:
app.listen(3000,() => {
console.log("Listen on the port 3000...");
});Чтобы запустить приложение, вы можете открыть терминал и ввести следующую команду:
node index.js
Если вы видите следующий вывод, это означает, что приложение работает успешно:
Listen on the port 3000...
В противном случае вам необходимо перепроверить приведенный выше код на наличие опечаток.
Чтобы отправить запрос HTTP GET в приложение Express, вы можете открыть веб-браузер и ввести следующий URL-адрес:
http://localhost:3000/
И вы увидите следующее сообщение в веб-браузере:
Hi there
Чтобы добавить другой маршрут, например, /about, вы добавляете новый обработчик маршрута в файл index.js следующим образом:
const express = require("express");
const app = express();
app.get("/",(request, response) => {
response.send("Hi there");
});
app.get("/about",(request, response) => {
response.send("<h1>About</h1>");
});
app.listen(3000,() => {
console.log("Listen on the port 3000...");
});Чтобы запустить новое приложение, вам нужно остановить текущее приложение и запустить его снова.
При переходе по следующему URL-адресу:
http://localhost:3000/about
Вы увидите следующее содержимое:
About
При просмотре исходного кода страницы вы увидите следующий HTML-код:
<h1>About</h1>
Конвенция сообщества
Если вы посмотрите на код в другом месте, вы найдете такие параметры обработчиков маршрутов:
app.get("/about",(req, res) => {
res.send("<h1>About</h1>");
});В этом синтаксисе req означает запрос, а res — ответ. Это соглашение сообщества экономить время на наборе текста. Мы будем следовать этому соглашению из следующего урока.
