Глава 2. Как устроен проект и что делают команды npm

Зачем эта глава

Когда проект создан, внутри появляется много файлов и папок. Если не понимать, что где находится, легко что-то удалить или сломать.

Мы разберём структуру проекта, основные файлы и команды npm. Это основа для любой разработки.

Теория (коротко)

package.json — главный файл проекта. В нём список библиотек и команды.

node_modules — папка с библиотеками. Она создаётся автоматически и обычно не хранится в Git.

src — папка с нашим кодом. Здесь находятся компоненты, стили и логика.

public — статические файлы: иконки, картинки, шрифты.

Важно: если удалить node_modules, ничего страшного. Просто снова выполни npm install.

Главные команды npm

Bash
npm install         # установить зависимости
npm run dev         # запустить сервер разработки
npm run build       # собрать проект для публикации
npm run preview     # локальный просмотр сборки

Пример package.json

JSON
{
  "name": "my-react",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  }
}
Подсказка: не редактируй package-lock.json вручную — он обновляется автоматически.

Git: базовые команды

Git помогает сохранять историю изменений. Это важно, когда работаешь с заказчиком или возвращаешься к старой версии.

Bash
git init
git status
git add .
git commit -m "init"
git log

Файл .gitignore говорит Git, какие файлы не нужно сохранять (например, node_modules).

.gitignore
node_modules/
.env
dist/

Архитектура проекта: как организовать папки

Есть два популярных подхода:

  • По слоям: components, pages, hooks, utils.
  • По фичам: каждая функция приложения живёт в своей папке.
Пример структуры
src/
features/
  cart/
    components/
    hooks/
    api.js
shared/
  ui/
  utils/

Задания

Задание: изучаем структуру

  • Найди папку src и файл App.jsx.
  • Открой package.json и найди секцию scripts.
  • Проверь, что npm run dev запускает проект.

Практика для фриланса

При работе с заказчиком поясняй, что папка node_modules не отправляется. Это экономит место и ускоряет передачу проекта.

Проверка себя

Ты можешь объяснить, где лежит код, где хранятся зависимости и как запускается проект.

Мини-проект

Цель: добавить простую структуру папок.

Требования: создай папки components и pages внутри src.

Критерий готовности: структура проекта стала понятной и организованной.

Словарь главы

package.json
Файл с настройками и зависимостями проекта.
scripts
Команды, которые можно запускать через npm.
node_modules
Папка с установленными библиотеками.