問題:
私は、VS2010 (.net 4.) プロジェクトに javascript と css ファイルの縮小を統合しようとしています。私が聞いたところによると、.net 4.5 と VS2012 ではエディターにミニフィケーションが組み込まれるため、フラグを設定するだけで簡単に機能するとのことです。残念ながら、私たちは VS2010 (.net 4.0) に取り組んでいます。
私がやりたいこととやりたくないことを説明させてください。
縮小するためだけにクラス/構成ファイル/などを使用して大きなセットアップを行いたくありません。これは、すべてのものをビルド マシンにロードする必要があり、ビルド xml ファイルでさえも動作させるために変更する必要がある場合があるためです。また、vs2012 と .net 4.5 に移行すると、vs2012 には機能が組み込まれるため、これらすべての構成/クラス/etc を破棄する必要があります。
これが私が最良の選択肢であると思うものです。私は ScriptManager を使用しており、ビルド タイプに基づいて .debug.js (縮小されていない) または .js (縮小された) スクリプトのいずれかを既にプルできるため、必要なのはある種の ( pre?) 非縮小化された .js ファイルを縮小化されたファイルに再構築するビルド イベント。明らかに、ビルド イベントは、ローカル コンピューターにインストールする必要があるミニケーション モジュールを呼び出す必要があります (YUI Compressor は非常に優れているようです)。モジュールは、縮小された .js ファイルを更新します。
私はこれについて読んでいますが、少し迷っています。追加したくない設定やクラスがたくさんあるサードパーティのツールがたくさんあります。私が説明したのと同じようなことをした人はいますか?そうでない場合、次善の簡単な解決策は何ですか?
(ちなみに、VS2012/4.5 に移行すると言う場合、それは現時点では解決策ではありません)
解決策:
ご回答ありがとうございます。
将来誰かを助けることができるように、私がしたことを説明したいと思います。
- Microsoft Ajax Minifier をインストールしました
- minifer を ENVIRONMENT PATH 変数に追加するバッチ ファイルを作成しました: setx path /m "%PATH%;C:\Program Files\Microsoft\Microsoft Ajax Minifier"
- 次のビルド前イベントをプロジェクトに追加しました: ajaxmin $(ProjectDir)Script.js -out $(ProjectDir)Script.min.js -clobber
Script.min.js が存在しない場合、ビルド イベントによって作成されますが、プロジェクトには追加されません (イベントを通じてそれを行う方法がわからない)。
新しいスクリプト ファイル mynewscript.js を追加するときは、mynewscript.min.js という名前の 2 つ目の空のファイルを作成し、ビルド前のイベントを追加するだけです。
このアプローチを使用すると、ビルド マシンに対して行う必要があるのは、Microsoft Ajax Minifier セットアップ パッケージとバッチ ファイルを実行することだけです。それだけで、他のすべてはビルド前のイベントの一部になります。