Инструменты

Основы npm

Понять, что такое npm, устанавливать пакеты, использовать скрипты и управлять зависимостями проекта.

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

Кратко

npm — менеджер пакетов для JavaScript. Он скачивает готовые библиотеки (пакеты) с npmjs.com и устанавливает их в ваш проект. Основные команды: npm init, npm install, npm run. Все библиотеки хранятся в папке node_modules.


Подробно

Что такое npm?

npm (Node Package Manager) — это:

  • Реестр (registry) — коллекция миллиона готовых библиотек
  • Менеджер — инструмент для установки этих библиотек
  • Скрипт-раннер — запуск команд из package.json

Установка пакетов: npm install lodash # установить lodash npm install --save-dev jest # установить как devDependency

Что создаётся:

  • папка node_modules/ — файлы библиотек
  • package-lock.json — точные версии всех пакетов

Зачем нужен package-lock.json? Он фиксирует ТОЧНЫЕ версии всех пакетов. Без него другой разработчик может установить другую версию и код сломается.

node_modules — НЕ коммитится! Добавьте в .gitignore: node_modules/

Эту папку можно восстановить через npm install.

Полезные команды: npm install — установить все зависимости из package.json npm uninstall lodash — удалить пакет npm outdated — показать устаревшие пакеты npm update — обновить пакеты npm ls — дерево зависимостей

npm scripts: В package.json можно определить скрипты: "scripts": { "start": "vite", "build": "vite build", "test": "jest" }

Запуск: npm run start npm run build npm test


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

npm — как магазин приложений для вашего проекта. Вы заходите в магазин (npmjs.com), выбираете приложение (пакет), устанавливаете (npm install). Оно появляется в папке node_modules. Остальные разработчики могут установить те же приложения через package.json.


Примеры

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

bash
# Установка пакета
npm install lodash

# В package.json появится:
# "dependencies": { "lodash": "^4.17.21" }

# Проверка, что пакет установлен:
npm ls lodash

Базовая установка пакета: npm скачивает библиотеку и записывает её в package.json.

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

bash
# Установка devDependency
npm install --save-dev prettier

# В package.json:
# "devDependencies": { "prettier": "^3.0.0" }

# devDependencies — только для разработки,
# не попадают в production сборку

Разница dependencies и devDependencies.

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

bash
# Инициализация нового проекта
npm init -y              # Создаёт package.json

# Установка зависимостей
npm install react react-dom
npm install --save-dev typescript @types/react

# Проверка
npm ls                   # Дерево зависимостей
npm outdated             # Устаревшие пакеты

Инициализация проекта и установка всех зависимостей.


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

**Неправильно:** Коммитить node_modules

**Почему:** node_modules может весить гигабайты. Восстановить через npm install.

**Правильно:** Добавьте node_modules в .gitignore.

**Неправильно:** Устанавливать пакеты без package.json

**Почему:** Без package.json пакеты не привязаны к проекту и будут потеряны.

**Правильно:** Сначала npm init, потом npm install.

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

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

**Правильно:** Коммитите package-lock.json. Не удаляйте его.


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

  • npm install — установить пакет
  • npm init -y — создать package.json
  • node_modules — НЕ коммитить
  • package-lock.json — коммитить
  • dependencies vs devDependencies
  • npm run — запуск скриптов

Связь

Назад: Вы знаете терминал (T1). npm запускается через терминал.

Вперёд: Следующий урок (T5) — package.json: файл конфигурации вашего проекта.


Читайте дальше

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