zoukankan      html  css  js  c++  java
  • mvc BundleConfig实现对Css、Js压缩打包加载

    Bundle不是.net Framework框架中的一员,使用Bundle首先要先添加引用,如下:

    nuget包管理--程序包管理控制台--Install-Package Microsoft.AspNet.Web.Optimization

    1.App_Start添加BundleConfig.cs文件,当然你可以把如下直接写在Globle.aspx的Application_Start中

    public class BundleConfig
        {
            public static void RegisterBundles(BundleCollection bundles)
            {
                //1.添加js
                bundles.Add(new ScriptBundle("~/jsLayout")
                    .Include("~/...js")
                    .Include("~/...js"));
                //2.添加css
                bundles.Add(new StyleBundle("~/cssLayout")
                    .Include("~/...css")
                    .Include("~/...css"));
    
                //3.启动css,js压缩
                BundleTable.EnableOptimizations = true;
            }
        }

    2.Globle.aspx的Application_Start引用

    BundleConfig.RegisterBundles(BundleTable.Bundles);

    3.修改View下的web.config中razor引擎配置,添加项System.Web.Optimization

    <system.web.webPages.razor>
        <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <pages pageBaseType="System.Web.Mvc.WebViewPage">
          <namespaces>
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.Optimization" />
            <add namespace="FMMV.Web" />
          </namespaces>
        </pages>
      </system.web.webPages.razor>

    4.前台引用,我是在_Layout.chtml中引用,如下:

    <!DOCTYPE html>
    <html>
    <head>
        <meta content="width=device-width" name="viewport">
        <title>@ViewBag.Title</title>
         @* 样式 *@
        @Styles.Render("~/cssLayout");
        @RenderSection("headResources", required: false)
    </head>
    <body>
        @RenderBody()
        @* 脚本*@
        @Scripts.Render("~/jsLayout");
        @RenderSection("footerResources", required: false)
    </body>
    </html>

    5.个人页面调用Layout,比如Index.cshtml

    @{
        ViewBag.Title = "Index";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    <!--本页面dom-->
    <div>
       
    </div>
    
    <!--个人脚本放置位置-->
    @section footerResources {
       //只有本页面用到的js文件
       <script src="~/xxx.js"></script>
       //自定义js
        <script>
            $(function () {
                
            });
    
        </script>
    }
  • 相关阅读:
    解决Hash冲突的几种方式
    深入理解JDK8中的HashMap
    JAVA中两个int类型的变量在不借助第三个变量的情况下完成值的互换
    Feign调用时读取超时(Read timed out executing GET)解决
    windows上Jenkins安装及其配置
    windows下查看端口被占用及处理
    flutter IOS模拟器无法弹出软键盘
    Android-ION内存管理简介
    移动GPU分类/百科
    ApiGen4.1 windows安装教程
  • 原文地址:https://www.cnblogs.com/lcawen/p/6702905.html
Copyright © 2011-2022 走看看