Установка пакетов
Пакет — готовая библиотека, опубликованная в реестре npm: для разбора Markdown, работы с датами, отправки писем. Команда npm install скачивает пакет в проект и записывает его в package.json, чтобы другой разработчик или сервер мог поставить те же библиотеки.
Установка пакета
Статьи блога удобно писать в формате Markdown. Пакет marked превращает Markdown в HTML. Установите его из папки blog:
npm install markedПроизойдёт три вещи: пакет скачается в папку node_modules, в package.json появится раздел dependencies, а рядом — файл package-lock.json.
Подключение
Пакет из npm подключают по имени, без ./ и без расширения:
// app.js
import { marked } from 'marked';
const html = marked.parse('# Привет\n\nПервая статья блога.');
console.log(html);node app.js выведет HTML: <h1>Привет</h1> и абзац с текстом. Node.js находит пакет по имени в папке node_modules.
dependencies и devDependencies
Одни пакеты нужны программе во время работы, другие — только вам при разработке: форматировщики кода, линтеры, тестовые библиотеки. Вторые ставят с флагом -D:
npm install -D prettier{
"dependencies": {
"marked": "^15.0.0"
},
"devDependencies": {
"prettier": "^3.4.0"
}
}На сервер можно поставить только рабочие пакеты — так быстрее и безопаснее. Номера версий у вас будут свежее.
Версии
Знак ^ перед версией разрешает обновления, которые не ломают совместимость: ^15.0.0 допускает 15.1.0 и 15.2.3, но не 16.0.0. Точные версии всех пакетов, включая вложенные, фиксирует package-lock.json — благодаря ему у всех участников проекта стоит одно и то же.
Основные команды
| Команда | Что делает |
|---|---|
npm install | Ставит всё, что записано в package.json |
npm install marked | Добавляет пакет в dependencies |
npm install -D prettier | Добавляет пакет в devDependencies |
npm uninstall marked | Удаляет пакет |
npm outdated | Показывает устаревшие пакеты |
npm ci | Ставит точно по package-lock.json |
npm ci используют на сервере и в автоматических проверках, npm install — при разработке.
Частая ошибка
Папку node_modules нельзя добавлять в Git: в ней десятки тысяч чужих файлов, и она полностью восстанавливается командой npm install. Создайте в корне проекта файл .gitignore до первого коммита:
node_modules
.envА вот package-lock.json в Git, наоборот, хранить нужно.