Объединение и минимизация javascript файлов с помощью yui compressor maven плагина.

Когда в вашем проекте большое количество javascript-файлов, то проект начинает загружаться долго. Это связано с тем, что на каждый <script src=… браузер запускает отдельную загрузку скрипта. Чтобы ускорить открытие страницы нужно минимизировать все js-файлы и объединить их в один.

Для подключения плагина нужно добавить в свой pom.xml строки:

Затем выполнение плагина:

Эти строки настраивают выполнение плагина  yuicompressor-maven-plugin на стадии компиляции. Всё описание можете посмотреть по комментариям. Смысл конфигурации в том, что этот плагин будет брать файлы из src/main/webapp (по-умолчанию), минимизаровать их и класть в target/yui-compressed. Затем будет происходить объединение всех js файлов из папки target/compressed/resources/js и всех подпапок в один файл target/application.js.

Теперь нужно настроить maven-war-plugin так, чтобы в конечном war-файле появился сгенерированный application.js и убрались все исходные файлы из resources/js:

Как видно из этой конфигурации мы убираем все исходные файлы из resources/js (туда попадают файлы, которые были в src/main/webapp/resources) и добавляем туда сгенерированный файл application.js.

Полная версия pom.xml будет выглядеть так:

Ссылка на тестовый проект на github:

https://github.com/urvanov-ru/java-examples/tree/master/yui-compressor-example (поставьте звезду, пожалуйста)

Скачать архив с проектом:

https://urvanov.ru/wp-content/uploads/2015/06/yui-compressor-example.zip

 

Полезные ссылки:

Документация на yuicompressor-maven-plugin:

http://alchim.sourceforge.net/yuicompressor-maven-plugin/index.html

Документация на maven-war-plugin:

https://maven.apache.org/plugins/maven-war-plugin/index.html

Объяснение жизненного цикла maven:

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *