maven对js进行压缩
时间: 2023-07-26 07:39:05 浏览: 83
maven+yui压缩js,css文件
3星 · 编辑精心推荐
Maven本身并不提供对JS文件进行压缩的功能,但可以通过使用插件来实现。其中比较常用的是maven-minify-plugin和yuicompressor-maven-plugin两个插件。
maven-minify-plugin是一个通用的插件,支持对多种类型文件进行压缩,包括CSS、JS、HTML等。使用该插件需要在pom.xml中添加如下配置:
```
<build>
<plugins>
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>minify-js</id>
<phase>process-resources</phase>
<goals>
<goal>minify</goal>
</goals>
<configuration>
<charset>UTF-8</charset>
<jsSourceDir>${project.basedir}/src/main/webapp/js</jsSourceDir>
<jsSourceFiles>
<jsSourceFile>script1.js</jsSourceFile>
<jsSourceFile>script2.js</jsSourceFile>
</jsSourceFiles>
<jsFinalFile>${project.build.directory}/minified/js/scripts-min.js</jsFinalFile>
<jsEngine>CLOSURE</jsEngine>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
其中,`jsSourceDir`指定JS文件所在的目录,`jsSourceFiles`指定要压缩的JS文件,`jsFinalFile`指定压缩后输出的文件路径,`jsEngine`指定使用的压缩引擎,可以选择CLOSURE、YUI等。
yuicompressor-maven-plugin是一个专门针对YUI压缩引擎的插件,使用该插件需要在pom.xml中添加如下配置:
```
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<nosuffix>true</nosuffix>
<linebreakpos>10000</linebreakpos>
<force>true</force>
<excludes>
<exclude>**/*.min.js</exclude>
</excludes>
<aggregations>
<aggregation>
<insertNewLine>true</insertNewLine>
<output>${project.build.directory}/minified/js/scripts-min.js</output>
<includes>
<include>**/*.js</include>
</includes>
</aggregation>
</aggregations>
</configuration>
</plugin>
</plugins>
</build>
```
其中,`nosuffix`指定是否在文件名后添加.min后缀,`linebreakpos`指定行长度,`force`指定是否强制覆盖已存在的文件,`excludes`指定不压缩的文件,`aggregations`指定需要压缩的文件列表和输出路径。
阅读全文