現在の回答 (2016 年 1 月更新)
元の回答 (以下を参照) は引き続き有効です。ただし、JavaScript は 2013 年から大幅に変更されました。この急速な変更は、ASP.NET 5 にバンドルが含まれなくなったことによってさらに悪化しています。
私の現在の解決策は、JavaScript ツールを使用してバンドルと縮小を行うことです。Uglifyのようなものには、重要なヘッダー コメントを保持しながら縮小するオプションがあります。これをGulp、Gruntなどのツールと組み合わせて、ビルド、プロジェクトの読み込み、またはオンデマンドでこのプロセスをトリガーできます。これは、Visual Studio 2015 に組み込まれており、Visual Studio 2013 拡張機能として利用できる「タスク ランナー エクスプローラー」と呼ばれる Visual Studio ウィンドウで実現できます。
圧縮に JavaScript ツールを使用しても、Bundling が解決したキャッシュ無効化の問題は解決されません。これを修正するための JavaScript ツール (つまりgulp-rev ) がありますが、ASP.NET での動作が気に入りません。静的コンテンツのキャッシュ期間を長く維持しながらこれを行う 1 つの方法は、URL で何らかのハッシュまたはフィンガープリントを使用することです。Microsoft の従業員である Mads Kristensen は、ASP.NET でこのキャッシュ無効化を行う方法について、個人のブログに投稿しました。
さらに、HTTP/2 と、前向きなサイトを作成している場合は、以前のようにスクリプトをバンドルに結合する必要はありません。
元の回答
フォローアップとして、私が使用した解決策は、Bundle
代わりに、ScriptBundle
またはStyleBundle
すべてのサードパーティライブラリ(とにかくすでに縮小されている)を1つのバンドルに貼り付けることでした。
@Robert HaveyのBundle Transformerに対する優れた回答を使用しようとしていたとき、縮小せずにすべてのサードパーティのJSまたはCSSをバンドルできることに気づきました。