Я знаю, что вопросы, связанные со сжатием javascript, задавались несколько раз, но я не могу найти ответ на мою проблему.
У меня есть проект, в котором есть общие сценарии (jQuery и несколько других) и страницы.jQuery Mobile позволяет вам кэшировать обычные сценарии во время сеанса, загружая все, что находится в <head>
только один раз.Конкретные сценарии извлекаются только в том случае, если страница загружается, пока вы вставляете <script>
в <div data-role="page">
.
. Я считаю это великолепным, потому что оно оптимизирует сценарии, которые загружаются при просмотре страниц моего приложения.и гарантирует, что браузер имеет минимальный javascript в памяти в любое время.
Однако, это ужасно для минимизации, потому что существуют зависимости между различными файлами, которые не могут быть объединены.
Пока я нашел дварешения, которые меня не устраивают:
- с использованием простого сценария минимизации, который не меняет имена функций и переменных: он удваивает размер файлов по сравнению с расширенной версией
- сгруппировать все сценарии в один и сжать, а затем поместить в
<head>
: вы теряете возможность загружать только те сценарии, которые вам нужны, и в браузер загружены ненужные функции
(исключаю вручнуюочевидно, меняя имена функций;))
Я ищу компрессор, который мог быНи один из них:
- сжимает все файлы вместе, но выводит их в отдельные файлы, чтобы сохранить модульность
- , если это невозможно, сжимать файлы независимо друг от друга, но с тегами, которые могутзапретить минимизатору переименовывать ссылки на внешние функции или переменные (например, jQuery)
Существует ли он?