Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Пакеты и npm

Многие задачи уже кто-то решил: форматирование дат, генерация идентификаторов, работа с таблицами. Готовый код, оформленный для повторного использования, называют пакетом, а npm (Node Package Manager) — это менеджер пакетов: программа и каталог, через которые пакеты скачивают и подключают.

npm устанавливается вместе с Node.js — средой, которая выполняет JavaScript вне браузера. Команды этого урока вводят в терминале, в папке проекта.

package.json

Проект начинается с файла package.json — паспорта проекта с его названием, версией и списком пакетов. Создаёт его команда:

npm init -y

Флаг -y отвечает «да» на все вопросы и заполняет файл значениями по умолчанию.

Установка пакета

Пакет устанавливают командой npm install и его именем. Для примера возьмём dayjs — библиотеку для работы с датами:

npm install dayjs

npm скачает пакет в папку 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.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.