[英]Bundling javascript files in MVC 4.0
我試圖將javascript文件捆綁在我的Web應用程序中以提高性能。 我正在嘗試加載jQuery的縮小版本作為示例,但是當我運行Web應用程序時,未加載jQuery。
捆綁配置:
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").IncludeDirectory("~/Scripts/","jquery-1.8.2.min.js"));
//Also tried this:
//bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-1.8.2.min.js"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
}
}
母版頁:
@using System.Configuration
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta name="apple-mobile-web-app-capable" content="yes">
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
<script type="text/javascript">
var screenRefreshTime = '@ConfigurationManager.AppSettings["ScreenRefreshTime"].ToString()';
screenRefreshTime = parseInt(screenRefreshTime);
</script>
</head>
<body>
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
IncludeDirectory的第二個參數是搜索模式,因此請嘗試* .js
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").IncludeDirectory("~/Scripts/", "*.js"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
}
}
或者使用Include而不是IncludeDirectory:
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-1.8.2.min.js"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
}
}
創建它的包時,無需包含min。我假設您在同一文件夾中擁有jquery.1.8.2.js和jquery.1.8.2.min.js,文件名相同,除了“ min”一詞:jquery.1.8.2.js,jquery.1.8.2.min.js。 您可以嘗試直接包含工作,而不是包含目錄。 像這樣的代碼
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include("jquery-1.8.2.js"));
}
}
還需要提及的是,捆綁僅在發布模式下有效,如果您需要在調試模式下進行檢查,則需要啟用優化。
BundleTable.EnableOptimizations = true;
稱呼它
@Scripts.Render("~/bundles/jquery")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.