Node.js Express: создание простого веб-сервера

В этом руководстве вы узнаете о веб-фреймворке 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 — ответ. Это соглашение сообщества экономить время на наборе текста. Мы будем следовать этому соглашению из следующего урока.

Рейтинг
( Пока оценок нет )
Александр Русаков / автор статьи
Программист, разработчик, 12 лет опыта работы в крупных компаниях. Быстро освоил typescript, делюсь своими знаниями на страницах этого сайта.
Загрузка ...
JavaScript и TypeScript