Maven YUI Compressor:聚合后压缩

时间:2012-03-30 13:09:33

标签: javascript maven yui-compressor

我可以在聚合后为压缩文件设置Maven YUI Compressor,因为我想要排除“sources”目录,其中包含用于聚合的文件,然后压缩聚合文件。

例如,我在 / js / sources / mylib / 中有一些.js文件,所有这些文件合并到一个文件 /js/mylib.js 中yui-压缩机聚合阶段。在pom.xml中我配置yui-compressor以排除整个 / js / sources / 并仅在 / js 库中压缩文件,但是yui-compressor之前执行“压缩”目标聚合,所以我有未压缩的合并文件。我需要以某种方式解决这个问题

1 个答案:

答案 0 :(得分:1)

我们可以转过身说:压缩后聚合吗?如果是这样,我遇到了同样的问题,并且以下内容为我解决了问题。

诀窍似乎是将输出文件放在目标目录而不是源中。这样,您就可以包含在聚合中缩小的文件。

已经缩小的文件然后我接近基础变量

  <executions>
    <execution>
      <goals>
        <goal>compress</goal>
      </goals>
    </execution>
  </executions>        
  <configuration>
    <excludes>
        <exclude>**/*-min.js</exclude>
        <exclude>**/*.min.js</exclude>
        <exclude>**/*.css</exclude>
    </excludes>
    <removeIncluded>false</removeIncluded>
    <jswarn>false</jswarn>
    <aggregations>
        <aggregation>
          <insertNewLine>true</insertNewLine>
          <removeIncluded>false</removeIncluded>
          <includes>
              <!-- these exist only in target dir. the original was json2.js & bootstrap.tabs.js -->
              <include>**/bootstrap-tabs-min.js</include>
              <include>**/json2-min.js</include>
              <!-- use originals for the ones already minified -->
              <include>${basedir}/src/main/webapp/js/backbone-min.js</include>
          </includes>
          <output>${project.build.directory}/${project.build.finalName}/js/test.js</output>
        </aggregation>
    </aggregations>
  </configuration>