このファイルは正確には何ですか?
jqueryval
はバンドルへの参照です。
MVC4のバンドルは、1つのバンドルにバンドルされたスクリプト、スタイルまたはその他のファイルの集まりです。
App_Start
フォルダーにBundleConfig.cs
というファイルがあります。このファイルには、どのバンドルにファイルが追加されているかの設定が含まれています。あなたが~/bundles/jqueryval
の上に見ることができるように
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
はそれに指定されたファイルを組み合わせたバンドルの仮想パスです。それでは、後でこれを見ると、次のようになります。
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
上記のスクリプトには、そのリファレンスの下にバンドルされているスクリプトが含まれています。
保存する必要がありますか? というBundleConfig.csで最初に定義されたこれらのJSファイルをすべて参照する必要がありますか?
jqueryval
バンドルの場合、含まれていない妥当性検証スクリプトは非常に便利です。
これらは、邪魔にならない検証を管理し、DOMを素早く清潔に保つスクリプトです。
邪魔にならない検証を使用する必要がない場合、または慎重に使用したい場合は、バンドルをコースから削除することができます。
<add key="ClientValidationEnabled" value="false" />
<add key="UnobtrusiveJavaScriptEnabled" value="false" />
利益と正確な違い:あなたは、私はまた、あなたのプロジェクトを確保するためにfalse
に必要なフィールドを設定し、あなたのweb.config
を更新する必要がありますこれに類似したファイル、探していることはないと考えていることを行う場合目立つような妥協のない検証の使用については、この記事で非常によく説明されています。Brad Wilson: Unobtrusive Client Validation in ASP.NET MVC 3
一般的に、必要なものだけを含めるとよいと思います。バンドルに指定されているすべてのファイルが必要ない場合は、それらのファイルを削除し、バンドルをすべて一緒に除外するか、独自のカスタムバンドルを作成します。
試行錯誤。それらを削除してブラウザのデバッガコンソールでランダム例外を見つけた場合は、いくつかのファイル/バンドルを再度追加してみてください。一般的に
、また束ねることはスタイルシートと連携して動作します。
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.core.css",
"~/Content/themes/base/jquery.ui.resizable.css",
"~/Content/themes/base/jquery.ui.selectable.css",
"~/Content/themes/base/jquery.ui.accordion.css",
"~/Content/themes/base/jquery.ui.autocomplete.css",
"~/Content/themes/base/jquery.ui.button.css",
"~/Content/themes/base/jquery.ui.dialog.css",
"~/Content/themes/base/jquery.ui.slider.css",
"~/Content/themes/base/jquery.ui.tabs.css",
"~/Content/themes/base/jquery.ui.datepicker.css",
"~/Content/themes/base/jquery.ui.progressbar.css",
"~/Content/themes/base/jquery.ui.theme.css"));
開発者にとっての利点は、個々のバンドルの代わりに、いくつかのファイルを参照するようになりますさ。
クライアントにとっての利点は、スクリプト/ cssファイルを取得するためにブラウザが行う必要のある個別の負荷です。
たとえば、ビュー内に5つのファイル参照がある場合、クライアントブラウザは5つすべてを個別にダウンロードし、各ブラウザに同時にダウンロードできるファイル数に制限があります。つまり、クライアントの接続が遅い場合、ファイルがロードされるまで数秒待つことができます。
ただし、5つのファイルすべてが単一のバンドルになるように設定されている場合、ブラウザはバンドルされた1つのファイルのみをダウンロードします。
さらに、バンドルは、スクリプトをダウンロードするのにかかる時間を節約するだけでなく、ダウンロードサイズを節約するだけでなく、バンドルが縮小されています(またはバンドル内のファイル)。
RegisterBundles
メソッドの最後にあるBundleConfig.cs
ファイルで、バンドルテーブルの最適化を有効にする必要があります。
BundleTable.EnableOptimizations = true;
バンドルを使用する必要はなく、個々のスクリプト/ CSSファイルを自由に参照できます。それは、あなたがそれを必要とするときに、簡単にします。
戦車の作成を作成する
は、私がバンドルを使用する方法を知って、私は知りませんjquery unobstrustiveなど – Baconbeastnz
@Baconbeastnz:申し訳ありませんが、私は主にあなたの質問に答えようとしていました。「このファイルはどういうものですか? '。あなたがそれらを使うべきかどうかに関しては、それはあなたがそれらを必要とするかどうかによって異なります。私は実際に必要なものだけを含めることを今までにお勧めします。だから、あなたはいくつかのスクリプトが必要な場合は、独自のバンドルを作成し、ビューでそれらを参照してください。私はバンドルの利点を概説しました。そのため、バンドルを使用することをお勧めします。定義済みのバンドルまたはカスタムバンドルを使用することをお勧めします。 – Nope
非常に役立つ説明。それは私の問題を解決するのに役立った –