Пакеты и npm
Многие задачи уже кто-то решил: форматирование дат, генерация идентификаторов, работа с таблицами. Готовый код, оформленный для повторного использования, называют пакетом, а npm (Node Package Manager) — это менеджер пакетов: программа и каталог, через которые пакеты скачивают и подключают.
npm устанавливается вместе с Node.js — средой, которая выполняет JavaScript вне браузера. Команды этого урока вводят в терминале, в папке проекта.
package.json
Проект начинается с файла package.json — паспорта проекта с его названием, версией и списком пакетов. Создаёт его команда:
npm init -yФлаг -y отвечает «да» на все вопросы и заполняет файл значениями по умолчанию.
Установка пакета
Пакет устанавливают командой npm install и его именем. Для примера возьмём dayjs — библиотеку для работы с датами:
npm install dayjsnpm скачает пакет в папку node_modules и запишет его в package.json. Пакеты, нужные программе для работы, называют зависимостями:
{
"name": "my-app",
"type": "module",
"dependencies": {
"dayjs": "^1.11.13"
}
}Поле "type": "module" разрешает в Node.js писать import и export.
Подключение пакета
Установленный пакет импортируют по имени — без ./ и расширения. Node.js сам найдёт его в node_modules:
import dayjs from 'dayjs';
const date = dayjs('2025-03-08').format('DD.MM.YYYY');
console.log(date); // 08.03.2025Скрипты
В поле scripts файла package.json записывают команды проекта, чтобы не набирать их каждый раз целиком:
{
"scripts": {
"start": "node main.js"
}
}Запускают их через npm run и имя скрипта:
npm run startЗависимости для разработки
Некоторые пакеты нужны только программисту: для тестов, проверки кода, сборки. Их устанавливают с флагом --save-dev, и они попадают в отдельный раздел devDependencies:
npm install --save-dev prettier| Команда | Что делает |
|---|---|
npm init -y | Создаёт package.json |
npm install имя | Устанавливает пакет |
npm install | Устанавливает всё из package.json |
npm uninstall имя | Удаляет пакет |
npm run имя | Запускает скрипт |
Версии пакетов
Запись ^1.11.13 означает «версия 1.11.13 или новее, но в пределах 1.x»: npm может поставить исправления, но не версию 2, которая может всё сломать. Точные установленные версии npm записывает в файл package-lock.json — его хранят вместе с проектом, чтобы у всех стояло одно и то же.
Частая ошибка
Отправлять папку node_modules в репозиторий или пересылать её вместе с проектом. Она весит сотни мегабайт и восстанавливается одной командой npm install по списку из package.json. Добавьте node_modules в файл .gitignore, а склонировав чужой проект, первым делом выполните npm install.