Node.JS
Цель: изучить основы работы с Node и npm.
Содержание и порядок выполнения лабораторной работы:
- Установить четную версию NodeJS с официального сайта.
- Изучить npm и его основных команд:
init
,install
,run
- Изучить функцию require, модуль node
- Инициализировать проект с помощью npm init.
- Установить модуль nodemon локально как зависимость для разработки и добавить команду для его запуска в package.json.
- Создать основной файл приложения и добавить команду “serve” для его запуска в package.json.
- Добавить к проекту файл .gitignore в котором исключить папку node_modules и папки связанные с IDE.
- С помощью модуля http создать сервер, который в консоль выводит сообщения:
- о начале работы, ip и номер порта,
- при открытии нового подключения к нему,
- при получении любого запроса.
- Обработать get-запрос на корневой путь и в ответе вернуть приветствие в виде простого текста.
- Обработать post-запрос на
/comments
и в ответе вернуть обновленный список комментариев в формате json. Сами комментарии пусть хранятся в глобальной переменной. - Обработать get-запрос на
/stats
и в ответе вернуть небольшой фрагмент в виде html таблицы, где в одной колонке user-agent, а во второй количество запросов. Чтобы накапливать статистику, храните все запросы в виде глобального объекта, где ключ это user-agent, а значение количество, запросов. - В остальных случаях в ответе возвращать 400 Bad Request.
- Зафиксировать результаты работы в системе контроля версий на github.
- Для тестирования установить расширение REST Client. Можете использовать программу Postman или альтернативы. Если вы используете REST Client, то создайте файл
.http
и запишите в нем запросы и проверьте корректность ответов, выводов в консоль.
Пример записи в файле .http
GET /users HTTP/1.1
Host: 127.0.0.1:3000
###
GET /users/2 HTTP/1.1
Host: 127.0.0.1:3000
Результаты выполнения лабораторной работы:
Работающий локально сервер с логикой, которая соответствует требованиям. Код сохранен в системе контроля версий.
Источники
- Официальный сайт Node
- Введение в Node на английском
- Введение в Node на русском
- Руководство по Node на русском (PDF)
- Курс по Node
Вопросы для защиты
- Что такое node.js
- npm - назначение и основные команды
- package.json - назначение и основные свойства
- Польза от .gitignore
- Способы проверки работоспособности сервера
- Создание минимального сервера на node.js
- Объекты запроса и ответа - свойства, методы
- Получение данных из тела запроса.