nmk

Практична робота №14 (2 години). Налаштування проекту за допомогою Vite.

Мета: Навчитися розгортати сучасне середовище для розробки React-додатку за допомогою збірка Vite та розуміти структуру створеного проекту.

План практичної роботи

  1. Ініціалізація React-проекту за допомогою Vite.
  2. Розбір структури файлів та папок (знайомство зі Scaffold).
  3. Робота з пакетним менеджером (package.json) та встановлення залежностей.
  4. Запуск локального сервера розробки (Dev Server) та огляд HMR.
  5. Створення базового компонента “з чистого аркуша”.

Хід роботи

1. Ініціалізація проекту за допомогою Vite

Вимоги: На комп’ютері має бути встановлений Node.js (версія 18+). Студенти відкривають термінал у своїй робочій папці (де вони тримають проекти) та виконують інтерактивну команду:

npm create vite@latest

2. Розбір структури файлів та папок

Студенти переходять у щойно створену папку та відкривають її в редакторі коду (VS Code):

cd my-react-app
code .

Викладач разом зі студентами аналізує призначення ключових файлів та вузлів:

3. Робота з package.json та встановлення залежностей

Студенти повинні звернути увагу, що папки node_modules (де лежить сам React) спочатку немає. Відомості про те, що потрібно скачати, знаходяться у package.json (в секціях dependencies та devDependencies). Для завантаження всіх потрібних бібліотек студенти виконують команду в терміналі:

npm install

(Або скорочено npm i). Почекати, доки Node Package Manager (NPM) завершить інсталяцію, та перевірити появу папки node_modules.

4. Запуск локального сервера розробки (Dev Server)

Щоб побачити створений додаток у дії, студенти запускають скрипт (описаний у package.json в розділі “scripts”):

npm run dev

У консолі має з’явитися повідомлення з URL-адресою, найчастіше http://localhost:5173/. Студенти відкривають це посилання у браузері та взаємодіють зі стандартним стартовим шаблоном Vite + React (наприклад, натискають на кнопку лічильника).

5. Очищення компонента та HMR (Hot Module Replacement)

Завдання: розібрати і прибрати зайвий “шаблонний” код.

  1. Відкрити файл src/App.jsx.
  2. Видалити код лічильника (useState), імпорти SVG-логотипів та CSS-файлів (можна видалити App.css).
  3. Залишити чисту функціональну компоненту App, що повертає простий заголовок:
function App() {
  return (
    <div>
      <h1>Привіт, React та Vite!</h1>
      <p>Мій перший проект налаштовано.</p>
    </div>
  );
}

export default App;
  1. Зберегти файл (Ctrl+S / Cmd+S). Студенти повинні переконатися, що браузер миттєво оновив сторінку після збереження (без повного оновлення “колесиком” завантаження вкладки). Це демонстрація принципу HMR (Гаряча заміна модулів).

Результат (Вимоги до здачі):

До кінця заняття студент повинен продемонструвати викладачеві локально розгорнутий і працюючий на localhost проект, очищений від базового шаблону. Студент також повинен ініціалізувати цей проект як Git-репозиторій та зробити початковий коміт:

git init
git add .
git commit -m "Init Vite React project"

Контрольні запитання:

  1. Що таке Vite і чому він вважається швидшим за старіші збірки (на кшталт Create React App чи Webpack)?
  2. Яка різниця між dependencies та devDependencies у файлі package.json? Які модулі потрібні тільки під час розробки, а які підуть у фінальну (production) версію?
  3. Чому папку node_modules ніколи не включають у Git-репозиторій?
  4. Для чого потрібен файл package-lock.json?
  5. Що таке HMR (Hot Module Replacement) механізм і яку перевагу він надає розробнику?
  6. Яку роль відіграє div з атрибутом id="root", знайдений у файлі index.html?