カセットバンドルとMVC4バンドル
-
29-10-2019 - |
質問
現在、いくつかのプロジェクトの書き換え(Webフォームから)のベースとして使用されるASP.NET MVC3ソリューションのプロトタイプに取り組んでいます。
私が持っている目標の1つは、現在持っているものではなく、アプリケーション全体にスクリプト管理を実装することです。
MVC 3 には欠陥がありますIMHO:部分ビューまたはテンプレートビューで特定のスクリプトを指定する必要がある場合、レンダリングされたHTMLのどこにスクリプトブロックを配置するかを制御できなくなるか、親ビューのすべての依存javascriptファイルを指定します。
説明されている問題を解決するためのフレームワークとして
-
今すぐカセットを実装してから、MVC4バンドルに移行する必要がありますか?
-
いくつかの簡略化されたスクリプトマネージャーを自分で実装してから(MVC4プレビューのスクリプトヘルパークラスのように)、MVC4に移行する必要があります
-
または、カセットをプロジェクトに統合して、MVCの実装よりも将来性が高くなることを期待する必要があります(カセットに付属する依存関係の数が非常に多いため、現時点ではこのオプションは本当に好きではありません)。
カセット自体の経験がないので、自分で比較するのは非常に難しいので、答えやヒントをいただければ幸いです。
編集: 別のオプションがあると思いました。MVCバンドル用のベータ版nugetパッケージをインストールする: https:// nuget。 org / packages / Microsoft.Web.Optimization
結論: MVC4バンドルの実装を詳しく調べると、大きな違いに気づきます。MVC4バンドルは、上記のMVC3の問題に対処せず、バンドルとミニファイを行うだけです。さらに、カセットは特定の場所にスクリプトタグをレンダリングできるだけでなく、簡単ではない正しい順序でスクリプトタグを並べることもできます。 そのため、現時点ではどちらの解決策にも満足しておらず、将来的に状況が改善されることを期待して、独自の最小限の実装を考え出すようにしています。
ただし、 5+ の依存関係とweb.configの変更をプロジェクトに追加することを恐れていない場合は、カセットを使用してください。ある時点で、MVCバンドルを利用して機能の重複を減らすように更新され、モジュール化されることを願っています。
更新: カセットのバージョン2.0以降、バンドルとjs依存関係の解決だけが必要な場合は、Cassetteのコーヒースクリプトやその他の機能を含める必要がなくなりました。したがって、この時点で、Cassetteは私にとって明らかに勝者です。
解決
ASP.NET MVCバンドルに関する情報は次のとおりです: http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx 。
ASP.NETは、「バンドル」または「バンドル」を容易にする機能を追加しています。 複数のCSSファイルとJavaScriptファイルをより少ないHTTPリクエストに「結合」します。 これにより、ブラウザが要求するファイルの数が大幅に減り、 それらをフェッチするのにかかる時間を短縮します。
ASP.NETの次のリリースでも、新しい機能が追加されています。 コンテンツのダウンロードサイズも簡単に縮小または「縮小」できます。
本質的にカセットと同じもののようです。他のすべての条件が同じであれば、ASP.NETMVCにネイティブなソリューションを使用してください。
他のヒント
前回のプロジェクトでCassetteを使用することになり、かなりうまく機能しています。NuGetを使用する場合、実際にはそれほど多くの構成はありません。したがって、今すぐカセットを使用し、必要に応じて後で切り替えることはそれほど難しくないと思います。
考慮すべきもう1つのことは、Cassetteはコンパイルが少ないということです。読む時間がなかったので、MVC4バンドルがそれを行うかどうかはわかりません。
Cassetteは、lessとcoffescriptをネイティブでサポートしているため、依然として興味深い代替手段です。クライアント側のmvcフレームワーク(バックボーン、ノックアウトなど)に関心がある場合は、HTMLテンプレートもサポートしています。
これに対する更新と同様に、Visual Studio2012のUpdate2パッケージにLESSとCoffeeScriptのサポートが追加されたため、のネイティブ実装に必要な変換を追加する方がよいように見え始めています。バンドル/ミニファイは、長期的にカセットを使用するよりもMVC4に戻されます。