43

私は現在、Webフォームからのいくつかのプロジェクト書き換えのベースとして使用されるプロトタイプのASP.NET MVC 3ソリューションを開発中です。カセットバンドルとMVC4バンドル

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

MVC 3には欠陥があります:部分ビューまたはテンプレートビューで指定された特定のスクリプトが必要な場合、レンダリングされたHTMLのどこにスクリプトブロックがあるかを制御できなくなるか、親ビューのjavascriptファイル。

私は、上記の問題を解決するためのフレームワークとしてhttp://getcassette.net/の使用を真剣に検討しています。 MVCのバンドルは、カセットのバンドルには本当に似ていて、私は再び混乱しています:

  1. は、私は今、カセットを実装し、よりMVC4バンドルに移行する必要がありますしかし、MVC4ベータの最後のリリースでは、私は再び自分自身を疑う作ったのですか?

  2. は、私はいくつかの単純化スクリプトマネージャ自身(MVC4プレビューでかなった。スクリプトのようなヘルパークラス)を実装し、その後MVC4

  3. に移行したり、私がプロジェクトにカセットを統合する必要があり、それはより未来になることを願っていべきMVCのimlementation(私は本当にこのオプションが好きではない証明は、今だけの依存関係カセットの完全な数が付属しているので)。

私は、カセット自体に経験がないし、それは本当に難しいの比較を自分で作るために見つけ、任意の答えやヒントをいただければ幸いです。

EDIT: 私はちょうど別のオプションがあることを考え出し:MVC結束のためにベータnugetパッケージをインストール:https://nuget.org/packages/Microsoft.Web.Optimization

結論: より多くの私はMVC4バンドルの実装に大きな違いを見て、私が注目してください。 MVC4バンドルは上記のMVC3の問題に対処していません - ただ&のバンドルをバンドルします。さらに、カセットは特定の場所にスクリプトタグを描画するだけではなく、正しい順序でスクリプトタグを並べ替えることもできますが、それは簡単ではありません。 それでは、私はどちらの解決方法にも満足していません。将来的に状況が改善されることを望んで、私は自分の最小限の実装を考え出します。

5+を追加することを恐れていない場合、web.configの束がプロジェクトに変更されます。カセット用です。機能の重複を減らすためにMVCのバンドルを利用するように、ある時点で更新されることを願っています。うまくいけば、よりモジュラーになります。


UPDATE:カセットのバージョン2.0のよう あなただけのバンドルとJS依存関係の解決が必要な場合は、コーヒースクリプトやカセットの他の特徴を含む必要はなくなりました。だからこの時点でカセットは私にとっては明らかな勝者です。

+0

すべてのアップデートをありがとうございました。質問だけで多くの助けになりました! :) – keisar

+1

はい、本当にありがとう、更新プログラムのおかげで、それは実際の経験が含まれているので、答えよりも役立った。 –

答えて

10

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.NET MVCにネイティブなソリューションを使用します。

+0

ありがとう、私はこのブログを先に読んでいて、どちらのライブラリの新しいユーザーとしても私には同じように見えますが、現在のMVCバンドルには存在しないカセットには、実装。 – bushed

+0

カセットはキャッシングと細分化について少し積極的だと思われますが、出血が必要ない場合は... –

+0

この時点で、カセットからデフォルトMVC4への切り替えのリスクを評価することになります(私はかなりですプロジェクトが利用可能になるとすぐにプロジェクトを移行すると確信しています)。 – bushed

9

私は最後のプロジェクトでカセットを使い終わってしまいました。あなたがNuGetを使っているなら、実際にはそれほど多くの設定がないので、私はカセットを使用して後で必要に応じてスイッチするのは難しくありません。

もう1つ考慮すべき点は、カセットはコンパイルが少ないことです。私はMVC4のバンドリングがそれを読んでいるかどうか分からないので、私はそれを読んでいるかどうか分からない。

+1

AFAIKそれはない、しかしドットなしはかなり孤立したナゲットパッケージです。この意味で、カセットはMVC4環境ではドットレスよりずっと重いです。 – bushed

4

カセットは、それほどコピースしていないため、ネイティブサポートがあるので、まだ興味深い選択肢です。

+0

私は何かが欠けていない限り、カセットについて好きではないのは、フィーチャ設定の欠如です: コーヒースクリプトのサポートは必要ありません。 dotLESSの実装は問題ありません。 テンプレートに関して - 私はカセットが何であるかに大きな利益は見ません - PartialViewsとはかなり違って見えません。 – bushed

+0

LESS、SASS、CoffeeSscriptはすべてNugetを介して別々のプラグインになっていると思います:http://getcassette.net/ –

1

これに加えて、LESSとCoffeeScriptのサポートがVisual Studio 2012用のUpdate 2パッケージに追加されました。このテンプレートは、HTMLテンプレートをサポートしています。そのため、バンドル/ミニネーションのネイティブ実装に必要な変換をMVC4にバックアップすることを、長期的に見てカセットを使うよりも追加するほうがますます好調になり始めています。

+1

部分的にスクリプトの要件を登録するための "組み込み"のサポートはまだありません。 (例えば、複数の部分的な部分があると宣言すると、fancybox.jsを参照し、必要に応じて一度だけそれを含むようにフレームワークを扱う必要があります)。 –

+0

@JamesMorcomあなたはこれについてもっと知っていますか?それでも自分自身については疑問に思っています。 ASP.NETがページのグローバルに一度だけスクリプトの依存関係を解決できれば素晴らしいだろう。 – oligofren