zoukankan      html  css  js  c++  java
  • ASP.NET MVC Bundles 合并压缩(js css)

      Chrome浏览器有并发的Http请求限制,Bundles可以将多个JS文件合并成一个文件并进行压缩,最终得到一个单文件的压缩包。

      第一步:BundleConfig

       public class BundleConfig
        {
            // 有关绑定的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=301862
            public static void RegisterBundles(BundleCollection bundles)
            {
                //bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                //            "~/Scripts/jquery-{version}.js"));
    
                //// 使用要用于开发和学习的 Modernizr 的开发版本。然后,当你做好
                //// 生产准备时,请使用 http://modernizr.com 上的生成工具来仅选择所需的测试。
                //bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                //            "~/Scripts/modernizr-*"));
    
                //bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                //          "~/Scripts/bootstrap.js",
                //          "~/Scripts/respond.js"));
    
                //bundles.Add(new StyleBundle("~/Content/css").Include(
                //          "~/Content/bootstrap.css",
                //          "~/Content/site.css"));
    
                //以上注释掉的是系统自动生成的Bundles
    
                //新建一个Bundle
                var scriptBundle = new ScriptBundle("~/bundles/test");
                //需要合并的JS文件,可以无限多个
                scriptBundle.Include("~/Scripts/1.js", "~/Scripts/2.js");
                //add
                bundles.Add(scriptBundle);
    
                //找到虚拟路径 和 真实文件的一个关系
    
                //指定优化压缩
                BundleTable.EnableOptimizations = true;
            }
        }

      两个JS文件:

      第二步:页面引用

      引用bundle       @Scripts.Render("~/bundles/test")

    @{
        ViewBag.Title = "Index";
    }
    
    <h2>Index</h2>
    
    @Scripts.Render("~/bundles/test")

      第三步:运行查看合并压缩

       注意:

      1、debug="false" 才进行压缩

      <system.web>
        <compilation debug="true" targetFramework="4.5"/>
        <httpRuntime targetFramework="4.5"/>
      </system.web>

      BundleTable.EnableOptimizations源代码里会读取该配置,根据debug="false" 才进行压缩,所以前边没有压缩,压缩是如下图所示:

      

      2、除了ScriptBundle还有StyleBundle,他们都继承自Bundle

      

      

  • 相关阅读:
    多个自定义覆盖物注册点击事件,点击某个覆盖物后获得它的坐标
    C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
    如何添加EXEStealth 2.5x 壳
    PACS系统简易
    好用的后端模版
    E信通项目总结[转]
    平台型产品的设计思路[转]
    baidu思维脑图在线编辑器
    Web 前端攻防(2014版)-baidu ux前端研发部
    访谈标叔:给新人设计师的建议【转】
  • 原文地址:https://www.cnblogs.com/shawnhu/p/8401428.html
Copyright © 2011-2022 走看看