Maven压缩插件YUI Compressor使用介绍

Maven压缩插件YUI Compressor使用介绍简介这篇文章主要介绍了Maven压缩插件YUICompressor使用介绍以及相关的经验技巧,文章约18810字,浏览量165,点赞数5,值得参考!使用这个插件主要有两个作用:减少资源文件体积,提高移动端页面加载速度。对关键的前端代码进行一定的代码混淆,保护知识产权。使用说明:使用YUICompressor压缩JS和CSS。需要Maven2.0及以上工程。默认情…

大家好,又见面了,我是你们的朋友全栈君。

简介 这篇文章主要介绍了Maven压缩插件YUI Compressor使用介绍以及相关的经验技巧,文章约18810字,浏览量165,点赞数5,值得参考!

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

  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的目录。

转载自:http://www.136.la/jingpin/show-95608.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161231.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月18日 上午10:36
下一篇 2022年7月18日 上午10:36


相关推荐

  • document.visibilityState 和 visibilitychange 事件结合优化性能「建议收藏」

    document.visibilityState 和 visibilitychange 事件结合优化性能「建议收藏」一般在项目中,用户登录之后有消息通知的时候,用户头像上面会有一个消息数来提醒用户,但这个数字要保证新打开一个页面的时候是正确的,当切换浏览器的tab再回来的时候还要保证正确性。说到这可能有人觉得放一个定时器,过一段时间去获取一次不就可以了,但这样会相当耗性能,使用定时器,这个页面就算被隐藏(非当前标签页、最小化)也会去一直执行这个定时器,这就相当消耗资源,而且这个页面放很久的话,还会造成页面卡死…

    2022年6月18日
    28
  • python读取txt文件并画图[通俗易懂]

    1,使用python读取txt文件已知txt文件内容如下:001124394165256361234567请以第一列为x轴,第二列为y轴画图 步骤如下: 1)使用readlines读取文件 2)建立两个空列表X,Y,将第一列的数字放入X,第二列的数字放入Y中 3)以X,Y为轴画图 实现如下…

    2022年4月7日
    476
  • c++二维数组指针

    c++二维数组指针定义指针指向二维数组为了方便根据用户输入动态定义二维数组的行和列 引入变量 rowsNum 行 colsNum 列 以定义 行 列的二维数组为例 introwsNum 4 intcolsNum 5 floata newfloat rowsNum for inti 0 irowsNum i a i n

    2026年3月17日
    2
  • rabbit mq exchange_exchange设置公司邮箱

    rabbit mq exchange_exchange设置公司邮箱上一篇,我们介绍了rabbimtmq的简单工作队列的使用方式,即生产者和消费者之间直接通过绑定相同的workqueue进行消息的发送和接收,如果业务逻辑比较简单,这样的方式也是可以用的,但在实际工作中,实际的业务场景远远比这个复杂,而且需要更加细粒度的对消息进行进行分发和接收,这就需要用到rabbitmq的另外一个组件exchange;顾名思义,exchange在rabbitmq中翻译为交换机…

    2022年10月3日
    4
  • js 洗牌算法_数据库洗牌算法

    js 洗牌算法_数据库洗牌算法概念洗牌算法即是把一组数组里的元素随机组合生成一个新数组。实现constshuffle=([…arr])=>{letm=arr.length;while(m){consti=Math.floor(Math.random()*m–);[arr[m],arr[i]]=[arr[i],arr[m]];}returnarr;};//测试consttes

    2026年2月8日
    8
  • 第一次数学危机_圆周率的诡异现象

    第一次数学危机_圆周率的诡异现象咋看标题,是不是很懵,??数学还有危机,Areukiddingme?!哈哈,当然只是人们对数学的认识的一种突破性的发展的一种描述。那么,我们在之前的描述中,都是在整数的这个范畴。因为在生活的过

    2022年8月2日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号