Maven压缩插件YUI Compressor使用介绍

Posted 飞快物联

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven压缩插件YUI Compressor使用介绍相关的知识,希望对你有一定的参考价值。

使用这个插件主要有两个作用:

1.   减少资源文件体积,提高移动端页面加载速度。

2.   对关键的前端代码进行一定的代码混淆,保护知识产权。

使用说明:

  • 使用YUI Compressor压缩JS和CSS。

  • 需要Maven2.0及以上工程。

  • 默认情况绑定到构建生命周期:process-resources

配置说明:

请在pom.xml文件填上配置项

依赖配置:

<dependencies>

    <dependency>

        <groupId>net.alchim31.maven</groupId>

        <artifactId>yuicompressor-maven-plugin</artifactId>

        <version>1.5.1</version>

    </dependency>

</dependencies>

构建配置:

<build>

    <plugins>

        <plugin>

            <groupId>net.alchim31.maven</groupId>

            <artifactId>yuicompressor-maven-plugin</artifactId>

            <version>1.5.1</version>

            <executions>

                <execution>

                    <phase>process-resources</phase>

                    <goals>

                        <goal>compress</goal>

                    </goals>

                </execution>

            </executions>

            <configuration>

                <encoding>UTF-8</encoding>

                <jswarn>false</jswarn>

                <nosuffix>true</nosuffix>

                <linebreakpos>-1</linebreakpos>

                <sourceDirectory>${project.build.directory}/classes/h5 </sourceDirectory>

                <outputDirectory>${project.build.directory}/classes/h5</outputDirectory>

                <includes>

                    <include>**/js/*.js</include>

<include>**/css/*.css</include>

                </includes>

                <excludes>

                    <exclude>**/js/*min.js</exclude>

                    <exclude>**/css/*min.css</exclude>

                </excludes>

            </configuration>

        </plugin>

    </plugins>

</build>

其中标红项为自定义项,请大家结合自己的情况

参数说明

名称

类型

描述

aggregations

Aggregation[]

处理后要执行的聚合/连接列表,例如创建包含多个小js文件的大js文件。 聚合可以在任何类型的文件(js,css,...)上完成。

disableOptimizations

boolean

[js only]禁用所有微优化。默认值:false

encoding

String

读取文件使用的编码。默认值:UTF-8

excludes

List

附加排除列表。

failOnWarning

boolean

定义插件是否必须在警告上停止/失败。默认值:false

force

boolean

强制压缩每个文件,否则如果压缩文件已存在并且比源文件新,则不执行任何操作。默认值:false

gzip

boolean

请求创建yui 压缩/ 聚合文件的gzip压缩版本。默认值:false

jswarn

boolean

[js only]显示代码中可能存在的错误。默认值:true

linebreakpos

int

在指定的列号后面的输出中插入换行符,-1表示压缩成1行。默认值:0。

nomunge

boolean

[js only]仅缩小,不要混淆。默认值:false(压缩并混淆)

nosuffix

boolean

不给压缩文件添加后缀,参考suffix参数,如min。默认值:false(添加后缀)

outputDirectory

File

要将资源复制到的输出目录。

preserveAllSemiColons

boolean

[js only]保留不必要的分号。默认值:false(不保留)

resources

List

我们要传输的资源列表。

skip

boolean

是否跳过执行。默认值:false

sourceDirectory

File

javascript源目录(结果将被放到outputDirectory)。  允许项目具有“src/main/js”结构。

statistics

boolean

显示统计数据(压缩率)。默认值:true

suffix

String

输出文件名后缀。默认值:-min

warSourceDirectory

File

要包含在WAR中的额外文件的单个目录。

webappDirectory

File

构建webapp的目录。


以上是关于Maven压缩插件YUI Compressor使用介绍的主要内容,如果未能解决你的问题,请参考以下文章

JS代码压缩使用YUI Compressor对js文件进行压缩处理

PHPStorm自动压缩YUI Compressor配置

在线压缩图片(TinyPNG)/ JS/CSS/HTML(YUI Compressor)

使用 maven、spring、freemarker 等帮助设置 YUI Compressor 以适应不同的环境(测试/开发/生产)

YUI Compressor 和“使用严格”提示

如何在 Ant 构建脚本中为 javascript 和 css 使用 YUI Compressor