使用yuicompressor-maven-plugin压缩js及css文件

js,css代码压缩

web站点需要对js,css代码进行压缩,打包,下面是利用yuicompressor-maven-plugin这个maven插件进行压缩,既然是maven插件,当然的是maven项目,插件文档地址:http://alchim.sourceforge.net/yuicompressor-maven-plugin/compress-mojo.html#resources

上代码

<plugins>  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-war-plugin</artifactId>  
                <version>2.4</version>   
                <configuration>  
                    <warSourceExcludes>/**/*.js,/**/*.css</warSourceExcludes>  
                </configuration>  
            </plugin>  
            <plugin>  
                <!-- YUI Compressor Maven压缩插件 -->  
                <groupId>net.alchim31.maven</groupId>  
                <artifactId>yuicompressor-maven-plugin</artifactId>  
                <version>1.3.0</version>  
                <executions>  
                    <execution>   
                        <goals>  
                            <goal>compress</goal>  
                        </goals>  
                    </execution>  
                </executions>  
                <configuration>  
                    <!-- 读取js,css文件采用UTF-8编码默认就是utf-8的 -->  
                    <encoding>UTF-8</encoding>  
                    <!-- 不显示js可能的错误 -->  
                    <jswarn>false</jswarn>  
                    <!-- 若存在已压缩的文件,会先对比源文件是否有改动  有改动便压缩,无改动就不压缩 -->  
                    <force>false</force>  
                    <!-- 在指定的列号后插入新行 -->  
                    <linebreakpos>-1</linebreakpos>  
                    <!-- 压缩之前先执行聚合文件操作 -->  
                    <preProcessAggregates>true</preProcessAggregates>  
                    <!-- 压缩后保存文件后缀 无后缀 -->  
                    <nosuffix>true</nosuffix>  
                    <!-- 源目录,即需压缩的根目录 -->  
                    <sourceDirectory>src/main/webapp/static</sourceDirectory>
                    <outputDirectory>target/static</outputDirectory>  
                    <!-- 压缩js和css文件 -->  
                    <includes>  
                        <include>**/*.js</include>  
                        <include>**/*.css</include>  
                    </includes>  
                </configuration>  
            </plugin>  
        </plugins>  




 注意: 

    我在查资料时,很多人都会配置<excludes>来过滤掉已经存在的min文件,使得这些文件不被压缩,我就在想这些人是怎么编程的平常,maven中已经配置了所有js、css都不会被打包,如果你在这儿再excludes掉,那war包里就没有min了,如果你的程序里本来就没有min,那你也没有必要配置excludes啊,还有人配了excludes,为了最终能有min,写了个超级复杂的正则表达式(%regex[^.+(?:(?&lt;!(?:-|\.)min)\.js)]),来让maven不打包那些不包含min的js、css,说着都费劲,我想说,你不写<excludes>不就完了,

说了这么多意思就是不用写<excludes>
     还有就是一定要有<outputDirectory>,我看很多人不配,这会导致最终的war包中classes目录下竟然有压缩后的js和css,大写的囧,而且竟然没有一个发现这个问题,难道只有我一个人是这样???赶紧写下来记录下



雅虎推出的一款javascript压缩工具。有JAVA版本和.NET版本。 yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ------------------------------------ //压缩JS java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css 语法: java -jar yuicompressor-x.y.z.jar [options] [input file] 通用参数: -h, --help 显示帮助信息 --type <js|css> 指定输入文件文件类型 --charset <charset> 指定读取输入文件使用的编码 --line-break <column> 在指定的列后插入一个 line-bread 符号 -v, --verbose 显示info和warn级别的信息 -o <file> 指定输出文件。默认输出是控制台。 javascript专用参数: --nomunge 只压缩, 不对局部变量进行混淆。 --preserve-semi 保留所有的分号。 --disable-optimizations 禁止优化。 举例: 将yuicompressor-2.4.2.jar 放在c:下,将editor.js放在c:盘下。 将editor.js进行压缩 命令为: C:\java -jar yuicompressor-2.4.2.jar editor.js -o editor2.js 参数说明: yuicompressor-2.4.2.jar 为工具包jar editor.js为要压缩js -o editor2.js压缩完成后的文件压缩率: 对resourcesjs文件夹里163个js文件进行压缩 压缩前4.13MB 压缩后2.89MB 混淆率: 较高 一个windows下的批量处理脚本: @echo off ::设置YUI Compressor启动目录 SET YUIFOLDER=C: ::设置你的JSCSS根目录,脚本会自动按树层次查找和压缩所有的JSCSS SET JSFOLDER=D:\1 echo 正在查找 JavaScript, CSS ... chdir /d %JSFOLDER% for /r . %%a in (*.js *.css) do ( @echo 正在压缩 %%~a ... @java -jar %YUIFOLDER%\yuicompressor-2.4.2.jar --charset UTF-8 %%~fa -o %%~fa ) echo 完成! pause & exi
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰汁菠萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值