TGViewer
Настя Котова // Frontend & Node.js Настя Котова // Frontend & Node.js @startpoint_dev · 1.41K subscribers
Post #45 229
🚀 Разбираемся с видами зависимостей в package.json

Зависимости в проекте Node.js — это модули или пакеты, которые ваше приложение использует для корректной работы. Эти зависимости указываются и управляются через package.json - файл, который служит своего рода картой или спецификацией для проекта. Сегодня разберемся, какие у проекта могут быть зависимости и как правильно их использовать.

1️⃣ dependencies — это основные зависимости, которые необходимы вашему приложению в продакшене. Они включают библиотеки и фреймворки, от которых напрямую зависит работоспособность вашего проекта. Например:


"dependencies": {
"express": "^4.17.1",
"mongoose": "^5.9.10"
}


2️⃣ devDependencies — это инструменты и библиотеки, используемые во время разработки и тестирования, но не нужные в продакшене. В эту категорию входят компиляторы, тестовые фреймворки и другие инструменты для улучшения процесса разработки. Пример:


"devDependencies": {
"eslint": "^7.2.0",
"jest": "^26.0.1"
}


3️⃣ peerDependencies — обычно используются при разработке библиотек или плагинов. Они указывают на зависимости, которые должны быть установлены в проекте, который будет использовать вашу библиотеку. Но при этом не устанавливают их автоматически, оставляя это на усмотрение разработчика, чтобы не вызывать дублирование библиотек с разными версиями. Например, если ваша библиотека требует обязательного наличия React 18-й версии, то нужно указать:


"peerDependencies": {
"react": "18.x"
}


Как и для чего разделять зависимости?
- Чистота: Разделение помогает уменьшить размер сборки продукта.
- Безопасность и скорость: В продакшне загружаются только необходимые библиотеки.
- Совместимость: PeerDependencies предотвращают конфликты версий, особенно важно для разработчиков библиотек.

🔗 На самом деле, это только основные виды зависимостей, которые могут быть использованы в проектах. Более подробно про них и про другие виды можно узнать в официальной документации NPM.
  • 👍 2
  • ❤ 1
More from @startpoint_dev
  1. Sep 21, 2026Я к вам с новым анонсом. Этот год я заканчиваю выступлением на HolyJS! Конференция пройдёт…
  2. Sep 14, 2026В прошлый раз разбирали, зачем нужны using и await using и где они работают. Теперь посмот…
  3. Sep 7, 2026В JavaScript регулярно появляются новые возможности, и не про все из них мы вообще узнаём.…
  4. Aug 31, 2026В цикле про рендеринг мы разбирали конвейер: стили, лейаут, отрисовка, композитинг. Всё эт…
  5. Aug 24, 2026Весной мы обсуждали работу с сырыми данными: ArrayBuffer, Buffer в Node.js, SharedArrayBuf…
  6. Aug 17, 2026Когда я готовила материал для цикла про Next.js, то неожиданно для себя узнала, что в нём…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →