Maven插件可以连接和缩小javascript

Mad*_*ady 22 minify maven

我在文件夹层次结构中有100个javascript文件,我想要两组输出.一个是连接版本用于调试目的,另一个是concat + minfy版本.我目前正在使用下面的插件,但在此我需要提供我需要缩小的每个文件.我正在寻找一个只需要父文件夹并满足上述条件的插件.

<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7</version>
Run Code Online (Sandbox Code Playgroud)

Mad*_*ady 33

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>
Run Code Online (Sandbox Code Playgroud)


khm*_*ise 15

你应该看看yui压缩maven插件,这听起来像你需要的东西.

  • YUI Compressor 被 CSS3 完全破坏了。参见例如 https://github.com/yui/yuicompressor/issues/268 和 https://github.com/yui/yuicompressor/issues/313 。 (2认同)