Почему в моем проекте Angular 7 40000 пакетов?Как удалить неиспользуемые зависимости? - PullRequest
1 голос
/ 29 марта 2019

При запуске 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?

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

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

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

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

0 голосов
/ 29 марта 2019
  • Сначала удалите пакеты npm из файла packages.json и сохраните файл.
  • Чтобы удалить любой конкретный пакет узлов, выполните команду npm prune
  • запустить команду npm prune для удаления неиспользуемого или не обязательного узла пакеты от Node.js

  • , если вы хотите удалить devDependencies, выполните команду prune с –Производственный флаг npm чернослив - производство = true

  • если вы не хотите создавать devDependencies, вам нужно установить –Производственный флаг false npm prune - производство = false

...