2013-05-25 4 views
18

フォルダの階層内に100sのjavascriptファイルがあり、2つの出力が必要です。 1つはデバッグの目的で連結バージョンを使用し、もう1つは連結+ミニフィーバージョンを使用することです。私は現在以下のプラグインを使用していますが、これでは私が必要とするすべてのファイルを提供する必要があります。私は親フォルダだけを必要とし、上記の条件を満たすプラグインを探しています。プラグインを使用して連結してJavaScriptを小さくする

<groupId>com.samaxes.maven</groupId> 
<artifactId>minify-maven-plugin</artifactId> 
<version>1.7</version> 

答えて

14

あなたはあなたが必要なもののように聞こえるyui compression maven pluginに見てみる必要があります。

+0

はい、私は使用していましたが正しくありませんでした。私はリソースの集約が不足していました。 – Mady

32

YUI compression maven plugin私のために働いた。 私はそれを動作させるために何をしたのかを示します。

  • 私は集約を使用するすべてのjsファイルを連結します。使用される要素の

詳細。

  • preProcessAggregates - 縮小の前に集合を処理します。
  • 集約 - フォルダ階層内の複数のリソースを1つのファイルに集約する。
  • アグリゲーション - 親アグリゲーション内に複数のアグリゲーション要素が存在することがあります。
  • insertNewLine - 各ファイルeofの後に改行を挿入し、ファイルの連結/集約を行います。
  • inputDir - ファイルが連結/集計のために検索される親ディレクトリ。
  • sourceDirectory - ファイルが縮小されるために検索されるディレクトリ。
  • outputDirectory - 縮小された出力が配置されるディレクトリ。
  • nosuffix - trueに設定すると、プラグインはミニファイルに '-min'を追加しません。

<exclude>財産の2種類があります: -

  • は、まず、基本的に集約からファイルを除外集合の一部です。
  • 2番目は、ファイルを除外するためのプラグインの一部です。

プラグインコード: -

<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> 
+0

また、プラグインは次の場所にあります:http://davidb.github.io/yuicompressor-maven-plugin/ – Stephan

+0

なぜ@Madyはnosuffixをfalseに設定しましたか?通常は、ミニバージョンを正しく配備するだけです。 http://alchim.sourceforge.net/yuicompressor-maven-plugin/index.html – DPM

4

Mady、縮小化のMavenプラグインもパターンを包含/除外サポートしています。
プラグインのドキュメントのLexicographical orderingサンプルページをご覧ください。

+0

Samuelさん、ありがとうございます。それはうまくいきますが、閉鎖jsEngineは縮小できません。最初は、閉鎖する傾向があったので、私はminify-maven-pluginを使用しました。 – Mady

関連する問題