Что выводится в списке пакетов npm?

Я запускаю команду в виде списка npm, и я получаю нижеупомянутый список в качестве своих зависимостей, и я хочу знать, что означает дедупликация, пожалуйста, дайте мне знать значение этого.

Please check below mention image...!!!!

Ответ 1

Естественно, "дедупликация" - это сокращение от "дедупликация" (дубликаты были удалены). Документация по npm dedupe объясняет, как это делает npm:

Выполняет поиск в локальном дереве пакетов и пытается упростить общую структуру, перемещая зависимости дальше вверх по дереву, где они могут более эффективно использоваться несколькими зависимыми пакетами.

Другими словами, он проверяет, имеют ли несколько пакетов одинаковые зависимости (то есть одинаковые пакеты и диапазон версий), и "указывает" их на один и тот же пакет.

Один и тот же пакет не нужно устанавливать дважды! Это просто ссылка.

Также он перемещает пакеты "вверх по дереву" (выравнивает дерево). Это имеет смысл, так как в противном случае один пакет должен был бы посмотреть в node_modules какого-либо другого пакета (что было бы немного грязно) и помогает упростить зависимости.

Вы можете проверить это, так как каждый пакет в вашем графе зависимостей, который говорит дедупед, может быть найден по крайней мере еще один раз в графе, обычно на "более высоком уровне".

На скриншоте вы разместили c[email protected] зависимость body-parser. Чуть ниже он также указан как прямая зависимость экспресса на один уровень выше.