Инструменты

package.json

Понять структуру package.json: зависимости, скрипты, метаданные проекта, и как его редактировать.

Фундамент (Foundation)
Нужно знать:Основы npm

Кратко

package.json — конфигурационный файл проекта. Он содержит: имя проекта, версию, зависимости (dependencies), devDependencies, скрипты (scripts), и настройки. Это «паспорт» вашего проекта.


Подробно

Структура package.json:

{ "name": "my-project", "version": "1.0.0", "description": "Описание проекта", "main": "index.js", "scripts": { "start": "vite", "build": "vite build", "test": "jest" }, "dependencies": { "react": "^18.2.0" }, "devDependencies": { "vite": "^5.0.0" } }

Основные поля:

  • name — имя проекта (обязательное)
  • version — версия в формате SemVer (major.minor.patch)
  • scripts — команды для запуска
  • dependencies — библиотеки для production
  • devDependencies — библиотеки для разработки

Версионирование (SemVer): ^1.2.3 — любая версия >= 1.2.3 и < 2.0.0 ~1.2.3 — любая версия >= 1.2.3 и < 1.3.0 1.2.3 — только точная версия

Скрипты: "scripts": { "start": "vite", "dev": "vite --port 3000", "build": "vite build", "preview": "vite preview" }

Запуск: npm run start, npm run dev

Сокращения: npm start — работает без run npm test — работает без run npm run build — нужен run для кастомных


Ментальная модель

package.json — как паспорт проекта. В нём написано: кто вы (name), какая у вас версия (version), с кем вы дружите (dependencies), и что вы умеете (scripts).


Примеры

**Самый простой:**

bash
// package.json — минимальная версия
{
  "name": "my-app",
  "version": "1.0.0",
  "scripts": {
    "start": "echo Hello"
  }
}

// Запуск: npm start

Минимальный package.json с одним скриптом.

**Простой:**

bash
// package.json с зависимостями
{
  "name": "my-project",
  "version": "1.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },
  "devDependencies": {
    "vite": "^6.0.0"
  }
}

// Запуск: npm run dev (инструмент сборки Vite — следующий урок T6)

Типичный package.json на основе Vite: команды-скрипты и зависимости для разработки.

**Реальный пример:**

bash
// Проверка зависимостей
// В терминале:
npm ls                   # Дерево зависимостей
npm outdated             # Устаревшие пакеты
npm install              # Установить из package.json
npm install lodash@4.17  # Конкретная версия

Управление версиями и проверка зависимостей. В реальных проектах встречаются и другие стеки (React, Next.js, TypeScript) — это отдельные технологии, которые в этом курсе не разбираются.


Частые ошибки

**Неправильно:** Вручную менять version при каждом обновлении

**Почему:** npm version major/minor/patch делает это автоматически и создаёт коммит.

**Правильно:** Используйте npm version patch/minor/major.

**Неправильно:** Использовать * для версий

**Почему:** "lodash": "*" — установит последнюю версию, которая может сломать код.

**Правильно:** Используйте ^ или ~ для безопасного обновления.

**Неправильно:** Не коммитить package-lock.json

**Почему:** Без lock-файла версии могут отличаться между разработчиками.

**Правильно:** Всегда коммитите package-lock.json.


Важно запомнить

  • package.json — конфигурация проекта
  • dependencies — для production, devDependencies — для разработки
  • scripts — команды для запуска
  • ^version — обновлять minor/patch
  • package-lock.json — коммитить всегда

Связь

Назад: Вы знаете npm (T4). package.json — это конфигурационный файл npm.

Вперёд: Следующий урок (T6) — Vite: dev-сервер и инструмент сборки.

Материалы курса Инструменты — PROlab Academy.