PrimeFaces сжимает и объединяет JavaScript и CSS

В этом руководстве мы покажем вам, как использовать расширения PrimeFaces - плагин Maven для сжатия и объединения файлов JavaScript и CSS, например, для оптимизации веб-ресурсов, чтобы ускорить загрузку веб-сайта.

Инструмент проверен:

, PrimeFaces 3.3

, PrimeFaces-Extensions 0.5

, Maven 3.0.3

1. Структура проекта

Смотрите следующую структуру проекта. Он состоит из 3 файлов CSS и 2 файлов JavaScript. Позже мы сжимаем и объединяем эти файлы.

структура проекта

2. Копировать ресурсы

Сначала используется maven-resources-plugin для копирования всех ресурсов (js и css) в папку" target ", но` bootstrap-dropdown.js` будет исключен.

<properties>
  <project.theme.name>default</project.theme.name>
  <project.resources.home.folder>
    ${project.basedir}/src/main/webapp/resources/${project.theme.name}/  </project.resources.home.folder>
  <project.resources.build.folder>
    ${project.build.directory}/temp-resources/${project.theme.name}/  </project.resources.build.folder>
</properties>

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.5</version>
  <executions>
    <execution>
    <id>copy-resources</id>
    <phase>generate-resources</phase>
    <goals>
        <goal>copy-resources</goal>
    </goals>
    <configuration>
        <outputDirectory>${project.resources.build.folder}/</outputDirectory>
        <resources>
          <resource>
        <directory>${project.resources.home.folder}</directory>
        <filtering>true</filtering>
        <includes>
          <include>** ** /** .css</include>
          <include>** ** /** .js</include>
        </includes>
        <excludes>
          <exclude>** ** /bootstrap** .js</exclude>
        </excludes>
        </resource>
       </resources>
    </configuration>
    </execution>
  </executions>
</plugin>

copy resources

3. Сжать и объединить

Определите resources-optimizer-maven-plugin , чтобы сжать и объединить эти ресурсы в один файл. И скопируйте обратно в папку «источник».

<plugin>
  <groupId>org.primefaces.extensions</groupId>
  <artifactId>resources-optimizer-maven-plugin</artifactId>
  <version>0.5</version>
    <executions>
      <execution>
    <id>optimize</id>
    <phase>prepare-package</phase>
    <goals>
        <goal>optimize</goal>
    </goals>
      </execution>
      </executions>
    <configuration>
      <warningLevel>QUIET</warningLevel>
      <suffix>-min</suffix>
      <failOnWarning>false</failOnWarning>
      <resourcesSets>
       <resourcesSet>
        <inputDir>${project.resources.build.folder}/css/</inputDir>
        <includes>
            <include>** ** /** .css</include>
        </includes>
        <aggregations>
          <aggregation>
            <removeIncluded>false</removeIncluded>
            <outputFile>
            ${project.resources.home.folder}/css/${project.artifactId}.aggr.css
            </outputFile>
          </aggregation>
        </aggregations>
      </resourcesSet>
        <resourcesSet>
        <inputDir>${project.resources.build.folder}/js/</inputDir>
        <includes>
            <include>** ** /** .js</include>
        </includes>
          <aggregations>
           <aggregation>
            <removeIncluded>false</removeIncluded>
            <outputFile>
            ${project.resources.home.folder}/js/${project.artifactId}.aggr.js
            </outputFile>
           </aggregation>
          </aggregations>
       </resourcesSet>
    </resourcesSets>

  </configuration>
</plugin>

В этой сборке 3 CSS-файла будут сжиматься или минимизироваться и объединяться в projectname.aggr.css , а файлы JavsScript в` projectname.aggr.js`

Изображение://wp-content/uploads/2012/08/3-copy-back.png[после комбайна, копирование и обратно, названия = "3-копия-обратно", ширина = 509, высота = 616]

4. Уборка

Перед сборкой не забудьте очистить ресурсы, например папку « target » и предыдущие файлы « .aggr », чтобы избежать дублирования содержимого.

<plugin>
  <artifactId>maven-clean-plugin</artifactId>
  <version>2.2</version>
  <executions>
    <execution>
    <id>auto-clean</id>
    <phase>generate-resources</phase>
    <goals>
        <goal>clean</goal>
    </goals>
    <configuration>
      <filesets>
        <fileset>
        <directory>${project.resources.home.folder}</directory>
        <includes>
            <include>** ** /** .aggr.css</include>
            <include>** ** /** .aggr.js</include>
        </includes>
        </fileset>
      </filesets>
    </configuration>
  </execution>
 </executions>
</plugin>

5. Построить

Готово, использует команду mvn prepare-package для запуска процесса сжатия и объединения.

Скачать исходный код

Загрузить полный pom.xml - ссылка://wp-content/uploads/2012/08/pom.xml__.zip[pom.xml.zip](1 КБ)

Рекомендации

началось с закрытия компилятора], http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html [Maven

строить жизненные циклы]

ссылка://тег/css/[css]ссылка://тег/javascript/[javascript]ссылка://тег/primefaces/[primefaces]

Related