Подтвердить что ты не робот

Для чего "dev" true "в package-lock.json?

Что означает "dev" true в файле package-lock.json?

В моем случае он автоматически обновляется, когда я выполняю операции npm.

Как мы можем удалить это?

4b9b3361

Ответ 1

Из документации npm по адресу https://docs.npmjs.com/files/package-lock.json

Если true, то эта зависимость является либо зависимостью разработки ТОЛЬКО от модуля верхнего уровня, либо транзитивной зависимостью от одного. Это неверно для зависимостей, которые являются как зависимостью развития верхнего уровня, так и транзитивной зависимостью не-разработки зависимости верхнего уровня.

Ответ 2

Я думаю, что этот параграф пытается проиллюстрировать, как присваивается зависимость пакета dev: true.

  • Непосредственная зависимость от разработки → dev: true
  • Только с косвенной зависимостью разработки → dev: true
  • Непосредственно развитие зависимости однако у него также есть косвенная не -D evelop зависимость → нет "dev: true"

Другими словами, как только пакет зависимостей разработки косвенно зависит от пакета разработки не -D, он должен иметь значение dev: false и, таким образом, он будет включен в процесс сборки. Цель этого правила - убедиться, что пакеты, необходимые для пакета не -D evelop, не будут иметь "dev: true".

Кроме того, если установить через "npm install -D, то пакет будет установлен как пакет разработки, поэтому изменения" dev: true "могут не произойти. Однако, если установка через" npm install ", это может удалить многие существующие зависимости". атрибут "dev: true".

Например, я запускаю "npm install -D bestzip" в моем проекте, и результат таков:

  • 53 зависимости с "dev": добавлено true

Запустите "npm install bestzip", и результат будет таким:

  • 53 зависимости без "dev": добавлено true
  • 43 существующих зависимости "dev": атрибут true удален