Express.js — это популярный фреймворк для создания веб-приложений на Node.js. Один из ключевых компонентов любого веб-приложения — это маршруты, которые определяют, как приложение реагирует на запросы к определённым URL. В этом ответе мы рассмотрим, как настроить маршруты в Express.js.

Прежде всего, чтобы начать работать с Express.js, необходимо установить его. Вы можете сделать это с помощью npm:

npm install express

После установки, создайте новый файл, например app.js, и добавьте следующий код:

const express = require('express');
const app = express();
const PORT = 3000;

Теперь у нас есть базовая настройка приложения. Далее мы можем настроить маршруты. В Express.js маршруты определяются с помощью метода app.get(), app.post(), app.put() и app.delete(). Рассмотрим пример:

app.get('/', (req, res) => {
  res.send('Главная страница');
});

app.get('/about', (req, res) => {
  res.send('О нас');
});

В этом примере мы определили два маршрута:

  • / — главный маршрут, который отправляет текст ‘Главная страница’.
  • /about — маршрут, который отправляет текст ‘О нас’.

Теперь, если мы запустим сервер с помощью:

app.listen(PORT, () => {
  console.log(`Сервер запущен на http://localhost:${PORT}`);
});

Вы сможете перейти по адресу http://localhost:3000 и увидеть ‘Главная страница’, а по адресу http://localhost:3000/about‘О нас’.

Теперь рассмотрим, как обрабатывать POST запросы. Для этого используем метод app.post(). Например:

app.post('/submit', (req, res) => {
  res.send('Данные отправлены');
});

В этом случае, когда отправляется POST запрос на /submit, сервер ответит текстом ‘Данные отправлены’.

Также в Express.js вы можете использовать параметры маршрута. Например:

app.get('/user/:id', (req, res) => {
  const userId = req.params.id;
  res.send(`Пользователь с ID: ${userId}`);
});

Здесь :id — это параметр, который может принимать любое значение. Если вы сделаете запрос на /user/123, сервер ответит ‘Пользователь с ID: 123’.

Вы также можете добавить проверку параметров с помощью middleware. Например:

app.get('/user/:id', (req, res, next) => {
  const userId = req.params.id;
  if (!isNaN(userId)) {
    next(); // Параметр корректный, продолжаем
  } else {
    res.status(400).send('ID пользователя должен быть числом'); // Ошибка
  }
}, (req, res) => {
  const userId = req.params.id;
  res.send(`Пользователь с ID: ${userId}`);
});

В этом примере, если id не является числом, сервер вернёт ошибку 400.

Express.js также поддерживает группировку маршрутов с помощью Router. Например:

const router = express.Router();

router.get('/', (req, res) => {
  res.send('Главная страница группы');
});

router.get('/about', (req, res) => {
  res.send('О нас в группе');
});

app.use('/group', router);

Теперь маршруты /group и /group/about будут доступны через созданный router.

Это были основы настройки маршрутов в Express.js. С помощью этих инструментов вы сможете создавать гибкие и мощные веб-приложения, которые обрабатывают различные типы запросов и маршрутов.

Если вам нужно больше информации, вы можете ознакомиться с официальной документацией Express.js на сайте expressjs.com.