web-dev-qa-db-ja.com

カセットバンドルとMVC4バンドル

私は現在、いくつかのプロジェクトの書き換え(Webフォームから)のベースとして使用されるプロトタイプASP.NET MVC3ソリューションに取り組んでいます。

私が持っている目標の1つは、現在持っているものではなく、アプリケーション全体にスクリプト管理を実装することです。

MVC 3欠陥がありますIMHO:部分ビューまたはテンプレートビューで特定のスクリプトを指定する必要がある場合-制御を失う可能性がありますスクリプトブロックがレンダリングされたHTMLにある場合、または親ビューですべての依存するjavascriptファイルを指定する必要がある場合。

説明されている問題を解決するためのフレームワークとして http://getcassette.net/ を使用することを真剣に検討しています。ただし、MVC4ベータ版の前回のリリースでは、私は再び疑問を抱きました。MVCのバンドルは、カセットのバンドルと非常によく似ており、再び混乱しています。

  1. 今すぐカセットを実装してから、MVC4バンドルに移行する必要がありますか?

  2. いくつかの簡略化されたスクリプトマネージャーを自分で実装してから(MVC4プレビューのスクリプトヘルパークラスのように)、MVC4に移行する必要があります

  3. または、カセットをプロジェクトに統合して、MVCの実装よりも将来性が高くなることを期待する必要があります(カセットに依存関係が非常に多いという理由だけで、現時点ではこのオプションは本当に好きではありません)。

私はカセット自体の経験がなく、自分で比較するのは本当に難しいと思います。答えやヒントをいただければ幸いです。

編集:別のオプションがあると思いました:MVCバンドル用のベータnugetパッケージのインストール: https://nuget.org/packages /Microsoft.Web.Optimization

結論:MVC4バンドルの実装を詳しく調べると、大きな違いに気づきます。MVC4バンドルは、上記のMVC3の問題に対処していません。バンドルとミニファイを行うだけです。 。さらに、カセットは特定の場所にスクリプトタグをレンダリングできるだけでなく、簡単ではない正しい順序でスクリプトタグを並べることもできます。そのため、現時点ではどちらの解決策にも満足しておらず、将来的に状況が改善されることを期待して、独自の最小限の実装を考え出すようにしています。

しかし、5 +の依存関係とweb.configの変更をプロジェクトに追加することを恐れていない場合は、カセットを使用してください。ある時点で、MVCバンドルを利用して機能の重複を減らすように更新され、モジュール化されることを願っています。


UPDATE:カセットのバージョン2.0以降、バンドルとjs依存関係の解決だけが必要な場合は、Cassetteのコーヒースクリプトやその他の機能を含める必要がなくなりました。したがって、この時点で、Cassetteは私にとって明らかに勝者です。

43
bushed

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にネイティブなソリューションを使用してください。

10
Robert Harvey

私は最後のプロジェクトでCassetteを使用することになり、それはかなりうまく機能しています。 NuGetを使用する場合、実際にはそれほど多くの構成はありません。したがって、今すぐカセットを使用し、必要に応じて後で切り替えることはそれほど難しくないと思います。

考慮すべきもう1つのことは、Cassetteはコンパイルが少ないということです。 MVC4バンドルがそれを行うかどうかは、私がそれを読む時間がなかったのでわかりません。

9
Shea Daniels

カセットは、lessとcoffescriptをネイティブでサポートしているため、依然として興味深い代替手段です。クライアント側のMVCフレームワーク(バックボーン、ノックアウトなど)に関心がある場合は、HTMLテンプレートもサポートしています。

4
nakhli

これに対する更新と同様に、Visual Studio2012のUpdate2パッケージにLESSとCoffeeScriptのサポートが追加されたため、Bundling /のネイティブ実装に必要な変換を追加する方がよいように見え始めています。ミニファイは、長期的にはカセットを使用するよりもMVC4に戻ります。

1
Lee Vaughn-Ogin