Лаб. работа “Создание веб-приложений с использованием фреймворка Express.js”
Цель работы
Научиться создавать веб-приложения с использованием фреймворка Express.js, а также освоить основные концепции и методы работы с этим инструментом.
Оборудование и программное обеспечение
- Компьютер с установленной операционной системой
- Установленный Node.js и npm (Node Package Manager)
- Установленный редактор кода (например, Visual Studio Code)
- Веб-браузер
Теоретическая часть
Express.js - это минималистичный и гибкий веб-фреймворк для Node.js, который обеспечивает мощный набор функций для создания одно- и многостраничных веб-приложений.
Основные компоненты Express.js:
- Маршрутизация: Определение конечных точек (маршрутов) для обработки запросов.
- Промежуточное ПО (Middleware): Функции, которые обрабатывают запросы на различных этапах их жизненного цикла.
- Шаблонизация: Поддержка различных шаблонизаторов для динамической генерации HTML.
Практическая часть
Шаг 1: Установка и настройка
- Создайте новую директорию для вашего проекта и перейдите в нее:
- Инициализируйте новый проект npm:
- Установите Express.js:
Шаг 2: Создание базового сервера
- Создайте файл
index.jsв корне проекта и добавьте следующий код:
- Запустите сервер:
- Откройте веб-браузер и перейдите по адресу
http://localhost:3000. Вы должны увидеть сообщение “Hello, Express!”.
Шаг 3: Добавление маршрутов и обработчиков
- Добавьте новый маршрут для страницы “About”:
- Перезапустите сервер и проверьте страницу
http://localhost:3000/about.
Шаг 4: Использование промежуточного ПО
- Создайте простое промежуточное ПО для логирования запросов:
- Добавьте промежуточное ПО перед определением маршрутов.
Шаг 5: Работа с шаблонами
- Установите шаблонизатор EJS:
- Настройте Express для использования EJS:
- Создайте директорию
viewsи добавьте файлindex.ejs:
- Измените маршрут для главной страницы для рендеринга шаблона:
- Перезапустите сервер и обновите главную страницу.
Шаг 6: Создание маршрута с параметрами
Создайте маршрут, который принимает параметр id и отображает его:
Перезапустите сервер и проверьте маршрут по адресу http://localhost:3000/user/123.
Шаг 7: Обработка POST-запросов
Установите и подключите промежуточное ПО для обработки POST-запросов:
Подключите body-parser в вашем приложении:
Создайте маршрут для обработки POST-запросов на путь /submit:
Проверьте маршрут с использованием инструмента Postman или curl:
Шаг 8: Создание маршрутов для статических файлов
Создайте директорию public и добавьте туда статические файлы, например изображения, css.
Подключите промежуточное ПО для обслуживания статических файлов:
Перезапустите сервер и проверьте доступность статического файла по адресу http://localhost:3000/example.jpg.
Шаг 9: Обработка ошибок
Создание страницы ошибки 404
- Добавьте обработчик для маршрутов, которые не были найдены (ошибка 404):
- Перезапустите сервер и проверьте, что страница ошибки 404 отображается при переходе по несуществующему маршруту, например,
http://localhost:3000/nonexistent.
Создание страницы ошибки 500
- Добавьте обработчик ошибок для всех остальных ошибок (ошибка 500):
- Для проверки этого обработчика, создайте искусственную ошибку в одном из маршрутов:
- Перезапустите сервер и проверьте, что страница ошибки 500 отображается при переходе по маршруту
http://localhost:3000/error.
Использование шаблонов для страниц ошибок
Создайте директорию
viewsи добавьте шаблоны для ошибок404.ejsи500.ejs.Пример файла
views/404.ejs:
- Пример файла
views/500.ejs:
- Обновите обработчики ошибок для использования шаблонов:
- Перезапустите сервер и проверьте работу страниц ошибок 404 и 500.
Самостоятельные задания
Задание 1: Настройка проекта
Создайте новый проект, установите express.js, EJS.
Задание 2: Создание основного сервера
- Создание сервера: В корне вашего проекта создайте файл
index.jsи настройте сервер с использованием express. - Запуск сервера: Настройте сервер на прослушивание порта 3000 и добавьте обработку ошибок для случаев, когда сервер не удается запустить.
Задание 3: Маршрут для главной страницы
- Маршрут
/: Создайте маршрут для главной страницы (/), который будет возвращать простое приветственное сообщение, например “Добро пожаловать на мой сайт!”. - Статус-код: Убедитесь, что ваш маршрут возвращает статус-код 200.
Задание 4: Маршрут для страницы “Обо мне”
- Маршрут
/about: Создайте маршрут для страницы “Обо мне” (/about), который будет возвращать информацию о вас, такую как имя, возраст, интересы и краткую биографию. - Статус-код: Убедитесь, что ваш маршрут возвращает статус-код 200.
Задание 5: Маршрут для страницы “Контакты”
- Маршрут
/contact: Создайте маршрут для страницы “Контакты” (/contact), который будет возвращать информацию о способах связи с вами, например, ваш email и телефон. - Статус-код: Убедитесь, что ваш маршрут возвращает статус-код 200.
Задание 6: Обработка несуществующих маршрутов
- Обработка 404: Добавьте middleware, который будет обрабатывать запросы к несуществующим маршрутам и возвращать сообщение об ошибке с статус-кодом 404.
Задание 7: Статические файлы
- Папка для статических файлов: Создайте папку
publicв корне вашего проекта и разместите в ней несколько статических файлов (например, изображения, CSS). - Подключение статических файлов: Настройте express для раздачи статических файлов из папки
public.
Задание 8: Middleware
- Логирование запросов: Добавьте middleware, который будет логировать все входящие запросы (метод, URL и время запроса).
Задание 9: Запуск и тестирование
- Запуск сервера: Запустите ваш сервер и протестируйте все созданные маршруты с помощью браузера или Postman.
- Тестирование ошибок: Проверьте, корректно ли обрабатываются запросы к несуществующим маршрутам.