1790


Eclipse(struts2)でWebアプリケーション開発を行っているのですが、ASP.NET
MVCのようにJavaScriptやCSSを実行時にMinify、Bundleするにはどのような方法があるでしょうか？


CC BY-SA 3.0
2014-12-16T14:00:58.433
1784
2014-12-16T14:51:38.543
3925
question
javascript css eclipse
EclipseでJavaScript、CSSをMinify&Bundleしたい


「eclipseで」という限定のない質問が本家の方に上がっています。

[How do you automate Javascript minification for your Java web
applications?](https://stackoverflow.com/questions/1379856/how-do-you-
automate-javascript-minification-for-your-java-web-applications)

>   * [Ant `apply` task (using YUI
> Compressor)](https://stackoverflow.com/questions/1379856/how-do-you-
> automate-javascript-minification-for-your-java-web-applications)
>   * [Custom YUI Compressor Ant
> task](https://stackoverflow.com/questions/1379856/how-do-you-automate-
> javascript-minification-for-your-java-web-applications/1380263#1380263)
>   * [Maven YUI Compressor
> plugin](https://stackoverflow.com/a/17479704/58956)
>   * [Granule (for JSP, JSF, Grails,
> Ant)](https://stackoverflow.com/questions/1379856/how-do-you-automate-
> javascript-minification-for-your-java-web-applications/1379935#1379935)
>   * [Ant macros for Google Closure
> compiler](http://code.google.com/p/granule/)
>   * [wro4j (Maven, servlet filters, plain Java,
> etc)](https://stackoverflow.com/a/8739005/58956)
>   * [ant-yui-compressor (ant task for compressing
> JS+CSS)](https://stackoverflow.com/a/14108311/58956)
>   * [JAWR](https://github.com/parambirs/ant-yui-compressor)
>   * [Minify Maven Plugin](https://stackoverflow.com/a/22570155/43597)
>   * [humpty](http://samaxes.github.io/minify-maven-plugin/)
>

これらを参考に eclipseで Run > External Tools > External Tools Configuration…
(日本語メニューなら[実行]＞[外部ツール]＞[外部ツール構成]) から、Antのタスクや外部ツール呼び出しで実現するのがいいのではないでしょうか

gruntをお使いであれば でgruntのminifyタスクを呼び出してもいいかもしれませんね。  
（外部ツールでも、Antからexecでもできるかと思います）


CC BY-SA 3.0
2014-12-16T14:42:23.407
1789
2014-12-16T14:42:23.407
2017-05-23T12:38:56.083
-1
728
1784
answer


3種類の方法を思いつきました。

  1. minifyツールの実行をAntのbuild.xmlに記述して、Incremental builderに登録する。
  2. mavenやGradleといったビルドツール内でminify処理を行う。
  3. jsLexプラグインを利用する。

コンパイルに代表されるファイルの変換作業などは、Incremental
builderの機能で暗黙的に実施するようにしておくと、開発生産性が良いと思います。1つ目の方法として、JavaScriptコードやCSSファイルのminifyについて、もし何らかコマンドツールをお使いでしたら、Antのビルドファイルからそのツールを起動できるようにしておいて、build.xmlファイルをEclipseのAnt
builderとして登録しておくと、ファイルの変更やプロジェクトのクリーン時に自動的にminifyされるようになって便利です。

「Antは古いしちょっと・・・」という場合には、mavenやGradleといったビルドツール内でminifyするタスクを登録して呼び出せば良いかと思います。Minify
Maven pluginやgradle-js-pluginを使うことになると思います。ただし、結局のところGoole Closure
compilerに依存してたりするので、1の方法とあまり変わらないと言えば変わりません。

もしEclipseのみで完結したい場合は、2つ目の方法として、jsLexプラグインが使えそうです。Eclipseのコンテキストメニューからminifyなどを呼び出すことができます。ただし、ビルド作業などの副作用として自動的にやってくれるわけではないので、使い勝手としては上記の2つよりも落ちると思います。


CC BY-SA 3.0
2014-12-16T14:51:38.543
1790
2014-12-16T14:51:38.543
531
1784
answer