Управление пакетами и библиотеками в проекте Node.js в значительной степени зависит от понимания различий между зависимостями и зависимостями разработчиков. Оба типа играют незаменимую роль в обеспечении бесперебойной работы.
В этой части мы проанализируем эти различия на примерах, чтобы еще больше обогатить наше понимание.
Зависимости (основа производства) — это жизненная сила приложение Node.js, так как они включают в себя пакеты и библиотеки, необходимые для бесперебойной работы в производственной среде. Они незаменимы для функциональности и выполнения приложения. Известные примеры зависимостей включают Axios, web-vitals и react-redux.
Чтобы подчеркнуть роль зависимостей, рассмотрим простое приложение React, используемое интерфейсными разработчиками. В следующем примере показаны зависимости, перечисленные в формате JSON в файле package.json:

В приведенном выше сценарии, когда кто-то клонирует проект, ему нужно только выполнить npm install, и, в свою очередь, все зависимости, указанные в package.json, такие как react-router-dom, будут автоматически установлены.

С другой стороны, зависимости разработки (Empower Development and Testing) используются на этапах разработки и тестирования проекта Node.js. В отличие от зависимостей, они не обязательны для фактического выполнения приложения в производственной среде. Примеры зависимостей разработки включают среды тестирования, такие как Jest, инструменты сборки, такие как Webpack и Babel, а также инструменты контроля качества кода, такие как ESLint.
Чтобы проиллюстрировать использование зависимостей разработки, давайте рассмотрим простое приложение React, адаптированное для внешнего интерфейса. Разработчики. Следующий пример демонстрирует зависимости разработчиков, перечисленные в формате JSON в файле package.json:

Здесь, хотя ESlint не нужен для производственной среды приложения, он играет решающую роль во время производства, регулируя качество кода, который будет доставлен. Соавторы, работающие над проектом, могут установить зависимости через npm install, но для установки зависимостей разработки им потребуется выполнить npm install --dev или npm install --only=dev.
Таким образом, зависимости необходимы для правильного функционирования приложения в рабочей среде, в отличие от разработки зависимости, которые требуются исключительно на этапах разработки и тестирования.