Angular CLI 8 и webpack генерируют оптимизированный основной файл. js, который больше, чем неоптимизированная кодовая база - PullRequest
3 голосов
/ 19 февраля 2020

Мы небольшая команда разработчиков, работающая над довольно типичной ERP-системой для клиента. Мы создали сотни маленьких форм ввода, сеток, подформ и т. Д. c. et c., поэтому теперь у нас есть около 1600 файлов (.ts,. html) с общим размером около 6 МБ.

Мы начали с SPA по умолчанию. NET Core 2.2 + Angular 6 (обновлен до 8) шаблон Visual Studio, и он работает просто отлично. За исключением того, что недавно мы заметили, что наше время сборки стало намного медленнее, а наш пакет dist вырос до смешного размера.

Теперь наше время сборки составляет около 25 минут, и большую часть времени использует ModuleConcatenationPlugin (который, похоже, использует Процессор несколько неэффективно, никогда не превышая 15%). И - сюрприз! - main. js составляет 20 МБ (в то время как поставщик. js меньше 3 МБ).

Определенно, что-то не так с оптимизацией. Почему наша кодовая база TypeScript 6 МБ (с большим количеством комментариев, пробелов и тому подобного) "оптимизируется" до файла размером 20 МБ?

Вот результаты анализа пакета веб-пакетов. webpack bundle analyzer results

Как видите, main. js кажется чистым; внешнего кода нет, есть только наши собственные файлы / sr c ~ 1600.

Как мы можем решить эту проблему, чтобы наш код был должным образом оптимизирован (и время сборки сокращено, если это возможно)?

Мы не делаем ничего экстремального или экзотического c - это кажется нормальным вариантом использования; каждая ERP-система будет иметь сотни маленьких форм; так почему же оптимизация не работает должным образом из коробки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...