私が見た多くのコードはこれを参照しています:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
これは素晴らしいことです。「何か」が含まれていれば機能します。これらを取得するには、参照を追加する必要がありますか? NuGet を使用しますか? DLL をコピーしますか? これはどこから来たのですか?
プロジェクトを実行すると、そのリソースに対して 404 が返されます。
私が見た多くのコードはこれを参照しています:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
これは素晴らしいことです。「何か」が含まれていれば機能します。これらを取得するには、参照を追加する必要がありますか? NuGet を使用しますか? DLL をコピーしますか? これはどこから来たのですか?
プロジェクトを実行すると、そのリソースに対して 404 が返されます。
バンドルを作成する必要があります。これは多くの場合App_Start\BundleConfig.cs
、ASP.NET MVC 4 プロジェクトのファイルで行われます。それはすべてバンドルと縮小で説明されています。
クラスでは、次のBundleConfig
ようなものが必要です (このメソッドは で実行する必要がありますApplication_Start
)。
public static void RegisterBundles(BundleCollection bundles) {
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
// ... more registrations ...
}
JavaScript ソース ファイルは、Scripts
フォルダーに存在する必要があります。上記のリンク先のチュートリアルでは、縮小版がリリース ビルドなどにどのようにバンドルされているかを説明しています。
参考までに - MVC でバンドルを使用する例を数多く見てきましたが、ほとんどの場合、このアセンブリは System.Web.Optimization.dll にあり、 Microsoft ASP.NET Web 最適化フレームワークパッケージを追加することで NuGet から取得できます。 .
はい、アプリケーションにバンドルを登録する必要があります。
Global.asax.cs:
protected void Application_Start() {
AreaRegistration.RegisterAllAreas();
// Register the bundles
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
BundleConfig.cs:
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*",
"~/Scripts/jquery.livequery.js",
"~/Scripts/jquery.numeric.js"
));
}
したがって、このコードをビューに配置すると、次のようになります。
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
4つのJavaScriptファイルをレンダリングします。
詳細:バンドルとミニファイ
プロジェクトApp_Start/BundleConfig.cs
には、すべてのバンドルの宣言があります。このことを考慮:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
この場合、「~/bundles/jqueryval」を参照すると、リストされた 2 つのスクリプトが含まれ、ボーナスとして、それらが縮小されます (プロジェクトを「リリース」モードで実行する場合)。
詳しくはこちらをご覧ください。