Почему у меня 40000 пакетов в моем проекте Angular 7? Как удалить неиспользуемые зависимости?

#angular #npm #angular7 #package.json

#angular #npm #angular7 #package.json

Вопрос:

При запуске npm audit в моей консоли я получаю следующий вывод :

[...]
found 0 vulnerabilities in 40256 scanned packages

Почему у меня более 40000 пакетов в моем проекте? Такое количество пакетов кажется мне безумным, поскольку я не использую так много библиотек.

Я пробовал следующее :

  • Удаление неиспользуемых пакетов (Jasmine, Karma, …).
  • Использование npm prune .

Я узнал, что это в основном связано с зависимостями Angular7 :

  • При понижении рейтинга до Angular 5 у меня «всего» ~ 7000 пакетов.
  • Мой package.lock.json файл имеет длину почти 10000 строк, и многие из них являются зависимостями.

Это беспокоит меня по этим причинам :

  • Наличие такого количества пакетов может привести к частым проблемам с безопасностью.
  • Для запуска npm install требуется больше ресурсов и времени, и я хотел бы его еще больше оптимизировать.
  • У меня много неиспользуемых пакетов, которым здесь нечего делать (например, мне не нужны некоторые присутствующие полизаполнения, такие как Babel, поскольку я не хочу разрабатывать кроссбраузерное решение).

Это плохая идея удалить эти неиспользуемые пакеты?

Почему в недавно созданном проекте Angular 7 так много пакетов?

Как мне удалить неиспользуемые зависимости Angular?

Ответ №1:

Вы определенно можете удалить пакеты, но хорошей идеей было бы сохранить их.

Причина: Мы не будем знать, какой пакет использует какой другой зависимый пакет. Так что лучше не удалять это.

Но не волнуйтесь. Перед развертыванием, как только вы запустите ng build , он автоматически удалит неиспользуемые пакеты.