MVC4的bundling功能简介
Bundling and Minification是asp.net mvc4中一項可以減少用戶請求等待時間,提升用戶體驗的一項技術。在VS2010中新建MVC4項目是,如果選擇"基本"項目,項目模板就會默認使用該項技術。但如果是選擇“空”項目,或者想為自己原來的項目添加這項技術,該如何做呢。主要要以下幾步:
在項目中選擇引入System.Web.Optimization。
在Global.asax加入BundleConfig.RegisterBundles(BundleTable.Bundles)
在兩個web.config中加入<add namespace="System.Web.Optimization" />(不加系統會提示CSHTML頁中的SCRIPT等不存在)
在app_start下建立BundleConfig.cs,建立綁定。內容如下:
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
"~/Scripts/knockout-{version}.js"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
//所有的js
bundles.Add(new ScriptBundle("~/bundles/js_all").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*",
"~/Scripts/knockout-{version}.js",
"~/Scripts/modernizr-*"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.*"));
//所有的css
bundles.Add(new StyleBundle("~/Content/css_all").Include(
"~/Content/site.css",
"~/Content/themes/base/jquery.ui.*"));
}
再在母版頁中加入:
@Styles.Render("~/Content/css_all")
@Scripts.Render("~/bundles/js_all")
大功告成,這里還有一步很關鍵的,就是把WebConfig中的Debug設置改為false,然后<Ctrl>+<F5>看網站,非常棒,對吧……
也許你要說我有些地方其實不需要那么多的js或者css呢,它都幫我捆了起來豈不是會降低效率?——基本上不會,因為瀏覽器都有緩存的功能,除非你按F5刷新頁面,(如果是蘋果系統的話我記得是<Command>+<R>),瀏覽器才會嘗試從服務器上重新下載js和css,就算重新下載,經過捆綁和壓縮的js和css也沒多大,效率還行的。如果你實在不想捆那么多js或者css的,那就把bundling設置得細一些,但這樣的話就可能導致更多次的請求,從而效率有所下降,總之就是要自己好好權衡了。
總結
以上是生活随笔為你收集整理的MVC4的bundling功能简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 键盘灯光怎么调(达尔优机械键盘灯光怎么调
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?