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

来源:互联网 发布:行政审批流程优化方案 编辑:程序博客网 时间:2024/04/29 03:21

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,大写的囧,而且竟然没有一个发现这个问题,难道只有我一个人是这样???赶紧写下来记录下



0 0
原创粉丝点击