我在文件夹层次结构中有 100 个 javascript 文件,我想要两组输出。一种是用于调试目的的串联版本,另一种是具有 concat + minfy 版本。我目前正在使用以下插件,但在此我需要提供我需要缩小的每个文件。我正在寻找一个只需要父文件夹并满足上述条件的插件。
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7</version>
YUI 压缩 Maven 插件为我工作。我将展示我为使其发挥作用所做的一切。
- 为了连接我使用聚合的所有 js 文件。
使用的元素的详细信息。
- preProcessAggregates - 在缩小之前处理聚合。
- 聚合- 将文件夹层次结构中的多个资源聚合到一个文件中。
- 聚合- 父聚合内可以有多个聚合元素。
- insertNewLine - 在每个文件 eof 之后插入换行符,同时连接/聚合文件。
- inputDir - 将在其中搜索文件以进行连接/聚合的父目录。
- sourceDirectory - 在其下搜索文件以进行缩小的目录。
- outputDirectory - 将放置缩小输出的目录。
- nosuffix - 如果设置为 true,则插件不会将“-min”添加到缩小文件中。
有两种类型的<exclude>
财产:-
- 首先是聚合的一部分,它基本上将文件排除在聚合之外。
- 其次是插件的一部分,用于从缩小中排除文件。
插件代码:-
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<preProcessAggregates>true</preProcessAggregates>
<aggregations>
<aggregation>
<insertNewLine>true</insertNewLine>
<output>${basedir}/target/single.js</output>
<inputDir>${basedir}/src/main/resources/js</inputDir>
<includes>
<include>**/*.js</include>
</includes>
<excludes>
<exclude>**/*abc.js</exclude>
<exclude>**/compressed.css</exclude>
</excludes>
</aggregation>
</aggregations>
<excludes>
<exclude>**/*-min.js</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*-min.css</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<jswarn>false</jswarn>
<nosuffix>false</nosuffix>
<sourceDirectory>${basedir}/target</sourceDirectory>
<outputDirectory>${basedir}/target</outputDirectory>
</configuration>
<executions>
<execution>
<id>compress_js_css</id>
<phase>process-resources</phase>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
</plugin>
你应该看看yui 压缩 maven 插件,这听起来像你需要的东西。
Mady,Minify Maven 插件也支持包含/排除模式。
请查看插件文档中的词典排序示例页面。