Node.js: Express.js — быстрая разработка веб-приложений

Библиотека Express: упрощение разработки

Библиотека Express значительно упрощает разработку веб-приложений, в частности, обработку URL-адресов. В отличие от работы с чистым http, Express предоставляет более простой механизм для обработки шаблонов и вывода HTML с данными.

Установка Express

Для установки Express используется команда: npm install express. После установки в проекте появится папка node_modules с библиотекой Express.

Использование Express

Для использования библиотеки, создадим переменную и воспользуемся директивой require:

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

Переменная app содержит все функции Express, необходимые для работы с сервером и обработки запросов.

Настройка сервера

Настройка сервера осуществляется указанием порта:

app.listen(3000);

Этот код аналогичен использованию http.createServer, но в Express он значительно проще.

Обработка HTTP-запросов: GET и POST

Рассмотрим обработку GET и POST запросов. GET-запрос передает данные непосредственно в URL (например, etiprager.com/news/123), а POST-запрос передает данные в теле запроса (например, через форму), которые не видны в URL. В этом уроке мы сосредоточимся на GET-запросах.

Обработка GET-запросов

Для обработки GET-запросов используется метод app.get():

app.get('/', (req, res) => {
  res.send('<h1>This is home</h1>');
});

Этот код обрабатывает запрос к главной странице (/) и отправляет текст <h1>This is home</h1>. Функция обратного вызова принимает два аргумента: req (запрос) и res (ответ). Метод res.send() отправляет данные клиенту.

Обработка динамических URL

Для обработки динамических URL, содержащих параметры, используются обозначения с двоеточием:

app.get('/news/:id', (req, res) => {
  res.send(req.params.id);
});

В этом примере /news/:id обрабатывает запросы вида /news/123, /news/article и т.д. req.params.id содержит значение параметра id. Название параметра (id) можно выбрать произвольно.

Обработка URL с несколькими параметрами

Можно обрабатывать URL с несколькими параметрами:

app.get('/news/:id/:name', (req, res) => {
    res.send(`ID: ${req.params.id}, Name: ${req.params.name}`);
});

Это позволяет обрабатывать URL вида /news/123/article-title.

Express значительно упрощает создание веб-серверов в Node.js. Мы рассмотрели обработку статических и динамических URL-адресов, а также использование параметров в URL, что позволяет создавать более сложные и гибкие веб-приложения.

Что будем искать? Например,программа