Сегодня мы с коллегой скопировали простой угловой проект. Мы обнаружили, что этот проект содержит более 30 000 файлов. Почему так много файлов? Конечно, есть куча узловых модулей и других «скрытых» вещей. Но в любом случае, это многовато для того, чтобы быть необходимым. Есть идеи, почему это так много?
P.S. это не дубликат Почему проекты на Angular 2 такие большие





Если вы скопировали проект в рабочем состоянии со всеми зависимостями, в этом нет ничего необычного. Мы живем в мире НПМ.
Все наши проекты содержат не менее 15к файлов:
Project, files, space usage/disk usage, disk wasted
A: 38k files, 309MB/364MB, 55MB
B: 39k files, 248MB/301MB, 53MB
C: 15k files, 130MB/150MB, 20MB
D: 17k files, 120MB/140MB, 20MB
E: 17k files, 64MB/84MB, 20MB
Все они являются проектами react + redux и node + express. Я включил дисковое пространство, потраченное впустую, в основном из любопытства; чтобы подчеркнуть большое количество небольших файлов (.js, package.json, .gitignore и т. д.), каждый из которых занимает целые блоки диска.
NPM устанавливает зависимости для всех остальных зависимостей, поэтому вы можете получить такие дубликаты, как:
a
+-- b <-- depends on [email protected]
| `-- [email protected]
`-- d <-- depends on c@~1.0.9
`-- [email protected]
(Из 4waisenkinder)
Если вам интересно, вы можете попробовать dedupeing файлы. Видеть:
npm устанавливает зависимости странным рекурсивным способом
Итак, мораль истории - удалите папку node_modules перед копированием. Нет уж, это способ быстрее.
Потому что у него много зависимостей, которые имеют много зависимостей и т. д.