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
3. 相關鏈接
YUI Compressor官網:http://developer.yahoo.com/yui/compressor/
相關配置參數說明:http://alchim31.free.fr/mvnsites/yuicompressor-maven-plugin/compress-mojo.html