maven实现JS+CSS自动压缩
1. maven实现js+css自动压缩完整代码
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <project xmlns="http://maven.apache.org/POM/4.0.0"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
6 <modelVersion>4.0.0</modelVersion>
7 <!-- 项目所在组、机构 -->
8 <groupId>com.test</groupId>
9 <!-- 项目产品名称 -->
10 <artifactId>test-mobile</artifactId>
11 <!-- 项目产品版本 -->
12 <version>1.0.0</version>
13 <!-- pom属性配置 -->
14 <properties>
15 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16 </properties>
17 <!-- 构建相关配置 -->
18 <build>
19 <!-- maven插件配置 -->
20 <plugins>
21 <plugin>
22 <!-- YUI Compressor Maven压缩插件 -->
23 <groupId>net.alchim31.maven</groupId>
24 <artifactId>yuicompressor-maven-plugin</artifactId>
25 <version>1.3.0</version>
26 <configuration>
27 <!-- 读取js,css文件采用UTF-8编码 -->
28 <encoding>UTF-8</encoding>
29 <!-- 不显示js可能的错误 -->
30 <jswarn>false</jswarn>
31 <!-- 若存在已压缩的文件,会先对比源文件是否有改动。有改动便压缩,无改动就不压缩 -->
32 <force>false</force>
33 <!-- 在指定的列号后插入新行 -->
34 <linebreakpos>-1</linebreakpos>
35 <!-- 压缩之前先执行聚合文件操作 -->
36 <preProcessAggregates>true</preProcessAggregates>
37 <!-- 压缩后保存文件后缀 -->
38 <suffix>.min</suffix>
39 <!-- 源目录,即需压缩的根目录 -->
40 <sourceDirectory>${basedir}/mobile</sourceDirectory>
41 <!-- 压缩js和css文件 -->
42 <includes>
43 <include>**/*.js</include>
44 <include>**/*.css</include>
45 </includes>
46 <!-- 以下目录和文件不会被压缩 -->
47 <excludes>
48 <exclude>**/*.min.js</exclude>
49 <exclude>**/*.min.css</exclude>
50 <exclude>scripts/data/*.js</exclude>
51 </excludes>
52 <!-- 压缩后输出文件目录 -->
53 <outputDirectory>${basedir}/mobile</outputDirectory>
54 <!-- 聚合文件 -->
55 <aggregations>
56 <aggregation>
57 <!-- 合并每一个文件后插入一新行 -->
58 <insertNewLine>true</insertNewLine>
59 <!-- 需合并文件的根文件夹 -->
60 <inputDir>${basedir}/mobile/scripts</inputDir>
61 <!-- 最终合并的输出文件 -->
62 <output>${basedir}/mobile/scripts/app/app.js</output>
63 <!-- 把以下js文件合并成一个js文件,是按顺序合并的 -->
64 <includes>
65 <include>app/core.js</include>
66 <include>app/mlmanager.js</include>
67 <include>app/tmpl.js</include>
68 <include>app/ui.js</include>
69 </includes>
70 </aggregation>
71 </aggregations>
72 </configuration>
73 </plugin>
74 </plugins>
75 </build>
76 </project>
2. 执行maven命令
1 mvn yuicompressor:compress


浙公网安备 33010602011771号