文章标题

来源:互联网 发布:筛选出的数据求和 编辑:程序博客网 时间:2024/05/21 14:01

js,css代码压缩

web站点需要对js,css代码进行压缩,打包,下面是利用maven进行打包压缩的配置

将压缩后的代码打入到war包中,并且压缩后的js,css文件名不变


[html] view plain copy
print?
  1. <plugins>  
  2.             <plugin>  
  3.                 <groupId>org.apache.maven.plugins</groupId>  
  4.                 <artifactId>maven-war-plugin</artifactId>  
  5.                 <version>2.4</version>   
  6.                 <configuration>  
  7.                     <warSourceExcludes>**/*.js,**/*.css</warSourceExcludes>  
  8.                 </configuration>  
  9.             </plugin>  
  10.             <plugin>  
  11.                 <!– YUI Compressor Maven压缩插件 –>  
  12.                 <groupId>net.alchim31.maven</groupId>  
  13.                 <artifactId>yuicompressor-maven-plugin</artifactId>  
  14.                 <version>1.3.0</version>  
  15.                 <executions>  
  16.                     <execution>  
  17.                         <phase>process-resources</phase>  
  18.                         <goals>  
  19.                             <goal>compress</goal>  
  20.                         </goals>  
  21.                     </execution>  
  22.                 </executions>  
  23.                 <configuration>  
  24.                     <!– 读取js,css文件采用UTF-8编码 –>  
  25.                     <encoding>UTF-8</encoding>  
  26.                     <!– 不显示js可能的错误 –>  
  27.                     <jswarn>false</jswarn>  
  28.                     <!– 若存在已压缩的文件,会先对比源文件是否有改动  有改动便压缩,无改动就不压缩 –>  
  29.                     <force>false</force>  
  30.                     <!– 在指定的列号后插入新行 –>  
  31.                     <linebreakpos>-1</linebreakpos>  
  32.                     <!– 压缩之前先执行聚合文件操作 –>  
  33.                     <preProcessAggregates>true</preProcessAggregates>  
  34.                     <!– 压缩后保存文件后缀 无后缀 –>  
  35.                     <nosuffix>true</nosuffix>  
  36.                     <!– 源目录,即需压缩的根目录 –>  
  37.                     <sourceDirectory>src/main/webapp/resource</sourceDirectory>  
  38.                     <!– 压缩js和css文件 –>  
  39.                     <includes>  
  40.                         <include>**/*.js</include>  
  41.                         <include>**/*.css</include>  
  42.                     </includes>  
  43.                     <!– 以下目录和文件不会被压缩 –>  
  44.                     <excludes>  
  45.                         <exclude>**/*.min.js</exclude>  
  46.                         <exclude>**/*.min.css</exclude>  
  47.                     </excludes>  
  48.   
  49.                 </configuration>  
  50.             </plugin>  
  51.         </plugins>  
<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>                        <phase>process-resources</phase>                        <goals>                            <goal>compress</goal>                        </goals>                    </execution>                </executions>                <configuration>                    <!-- 读取js,css文件采用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/resource</sourceDirectory>                    <!-- 压缩js和css文件 -->                    <includes>                        <include>**/*.js</include>                        <include>**/*.css</include>                    </includes>                    <!-- 以下目录和文件不会被压缩 -->                    <excludes>                        <exclude>**/*.min.js</exclude>                        <exclude>**/*.min.css</exclude>                    </excludes>                </configuration>            </plugin>        </plugins>


下面这个标签是对已经压缩过的文件不进行压缩

[html] view plain copy
print?
  1. <excludes>  
  2.                         <exclude>**/*.min.js</exclude>  
  3.                         <exclude>**/*.min.css</exclude>  
  4.   
  5. </excludes>  
<excludes>                        <exclude>**/*.min.js</exclude>                        <exclude>**/*.min.css</exclude></excludes>

但是如果按照如下配置进行打包,那些在源文件中已经是.min结尾的js,css代码将不会打进war包

[html] view plain copy
print?
  1. <configuration>  
  2.                     <warSourceExcludes>**/*.js,**/*.css</warSourceExcludes>  
  3.                 </configuration>  
<configuration>                    <warSourceExcludes>**/*.js,**/*.css</warSourceExcludes>                </configuration>