MVC4商城項目四:應用Bundle捆綁壓縮技術

從MVC4開始,咱們就發現,項目中對Global.asax進行了優化,將原來在MVC3中使用的代碼移到了【App_Start】文件夾下,而Global.asax只負責初始化。其中的BundleConfig類就有個很牛X的功能:合併與壓縮。想到之前作ASP.NET的時候要經過工具壓縮,手動合併,很麻煩。經過BundleConfig能夠大大的提升工做效率和項目性能。javascript

1、基本的使用css

1.一、Global.asax文件的初始化java

  protected void Application_Start()
        {
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }

1.二、BundleConfig 綁定壓縮文件jquery

    public class BundleConfig
    {
        // 有關 Bundling 的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkId=254725
        public static void RegisterBundles(BundleCollection bundles)
        {

            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(    
                "~/Content/Scripts/jquery-{version}.js"
               ));

            bundles.Add(new ScriptBundle("~/Content/Scripts/toojs").Include(
                      "~/Content/Scripts/jquery.cookie.js",
                     "~/Content/Scripts/footer.js"
                 ));

1.三、視圖中的顯示web

@Styles.Render("~/Content/Css/Common")  //單個樣式的綁定

@Scripts.Render("~/bundles/jquery","~/Content/Scripts/toojs","~/Content/Sctipts/bootstraptJs")  //多個JS的綁定

1.四、web.config 的配置bootstrap

<system.web>
    <compilation debug="true" targetFramework="4.5"/>
debug="false"的時候就啓用的壓縮

2、效果說明 cookie

 當啓用壓縮以後,打開firebug你會看到工具

多個文件在一塊兒會被合併,文件格式去掉了,造成的壓縮,提升了文件的加載時間。性能

我以爲還有一個很智能的好處:支持正則匹配文件優化

*\{version}  兩個是很好的匹配,在實際項目中,在樣式迭代開發時,stlye.1.0.css,stlye.1.1.css,stlye.1.2.css,stlye.1.3.css……模式累加,路徑只寫 ~/Content/stlye.*.css 就能夠了。

在JS開發的時候不少時候改了BUG,JS有版本更新:Script.1.0.js,Script.1.0.min.js,Script.1.1.js,Script.1.1.min.js  會使用到最新版本,用{version} debug模式下會取最新的文件,發佈的時候會取最新的min

 

3、注意事項:

剛開始的時候虛擬路徑的命名有就很奇怪: ~/bundles/jquery。以下:
 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(    
 bundles.Add(new ScriptBundle("~/Content/Scripts/toojs").Include(

我開始覺得:~/Content/Scripts 是文件的文件夾地址,後面隨便命名,但~/bundles 又是什麼?咱們跟蹤的時候發現:

在bundles 註冊以前就有了值,原來系統已經定義好了7個路徑標識,應該是默認經常使用的吧。這個地方坑了我好長時間了,百度也沒人說~

 好了,就這麼多了,這節沒有講代碼,就是說了下捆綁的新功能 。

相關文章
相關標籤/搜索