Как проанализировать размер пакета Closure Compiler - PullRequest
0 голосов
/ 01 октября 2018

У меня есть приложение на ClojureScript, которое использует Google Closure Compiler в качестве бэкэнда компилятора.Полученный пакет с использованием продвинутых оптимизаций кажется слишком большим для того, что он есть.Я обвиняю зависимости, но как мне узнать, какие модули занимают больше всего байтов в выходном пакете?Я просмотрел все параметры компилятора Closure и не нашел ничего полезного.Затем я попытался узнать об исходных картах и ​​использовать их для расчета размера отдельного модуля, но безуспешно.

Я хотел бы получить древовидный вывод, в котором я могу копать и находить самые большие модули с точки зрения размера,например,

  • [+] goog 100 КБ
    • [+] goog.net 30 КБ
  • [+] react 90 КБ
  • [+] my 50 КБ
    • [+] my.namespace 30 КБ

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

shadow-cljs может генерировать Отчеты о сборке , которые принимают расширенный скомпилированный вывод и анализируют исходные карты, а затем объединяют его с некоторой информацией компилятора для группировки источников по артефакту и т. Д.на.Отчет создается в виде отдельного файла .html.

Пример отчета о сборке можно найти здесь .В комплект входит "antd" пакет от npm.Сравнительный отчет, который только что включил "antd/es/button", можно найти здесь .

Обратите внимание, что это ограничено shadow-cljs, так как он полагается на доступность всех данных карты источника.Анализ исходных карт сборок CLJS, сгенерированных другими инструментами, пропускает исходные карты для всего содержимого CLJSJS и, таким образом, будет содержать много «пробелов».

0 голосов
/ 01 октября 2018

Насколько мне известно, такого инструмента не существует.Хотя было бы неплохо иметь.

Инструмент не обязательно должен быть специфичным для Closure Compiler.Вместо этого анализ выходной исходной карты может приписывать определенные символы в коде определенным входным файлам.

...