Skip to content
Веб-разработка
GitHub

Node.JS

Цель: изучить основы работы с Node и npm.

Содержание и порядок выполнения лабораторной работы:

  1. Установить четную версию NodeJS с официального сайта.
  2. Изучить npm и его основных команд: init, install, run
  3. Изучить функцию require, модуль node
  4. Инициализировать проект с помощью npm init.
  5. Установить модуль nodemon локально как зависимость для разработки и добавить команду для его запуска в package.json.
  6. Создать основной файл приложения и добавить команду “serve” для его запуска в package.json.
  7. Добавить к проекту файл .gitignore в котором исключить папку node_modules и папки связанные с IDE.
  8. С помощью модуля http создать сервер, который в консоль выводит сообщения:
    • о начале работы, ip и номер порта,
    • при открытии нового подключения к нему,
    • при получении любого запроса.
  9. Обработать get-запрос на корневой путь и в ответе вернуть приветствие в виде простого текста.
  10. Обработать post-запрос на /comments и в ответе вернуть обновленный список комментариев в формате json. Сами комментарии пусть хранятся в глобальной переменной.
  11. Обработать get-запрос на /stats и в ответе вернуть небольшой фрагмент в виде html таблицы, где в одной колонке user-agent, а во второй количество запросов. Чтобы накапливать статистику, храните все запросы в виде глобального объекта, где ключ это user-agent, а значение количество, запросов.
  12. В остальных случаях в ответе возвращать 400 Bad Request.
  13. Зафиксировать результаты работы в системе контроля версий на github.
  14. Для тестирования установить расширение 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

Результаты выполнения лабораторной работы:

Работающий локально сервер с логикой, которая соответствует требованиям. Код сохранен в системе контроля версий.

Источники

  1. Официальный сайт Node
  2. Введение в Node на английском
  3. Введение в Node на русском
  4. Руководство по Node на русском (PDF)
  5. Курс по Node

Вопросы для защиты

  1. Что такое node.js
  2. npm - назначение и основные команды
  3. package.json - назначение и основные свойства
  4. Польза от .gitignore
  5. Способы проверки работоспособности сервера
  6. Создание минимального сервера на node.js
  7. Объекты запроса и ответа - свойства, методы
  8. Получение данных из тела запроса.