Библиотека 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, что позволяет создавать более сложные и гибкие веб-приложения.