• mvc Bundling 学习记录


       因为现在的项目JS引用很多,无意中看到了MVC4的Bundling,开始的时候感觉很不错,将所有的CSS,js文件压缩成一个文件处理,画面调用也很简单

       于是,花了一个下午的时候研究了一下,并且通过各种情况进行测试

       可是结果不尽如人意,其中有一个比较很让人抓狂的问题

       经常做.NET的人都知道,UI画面会引用很多的插件,比如easyui,ext等等,而这些插件里面包含了很多图片引用,因为图片呢,就涉及到一个做WEB的常见难题:路径(当然,如果所有的CSS文件中图片路径都是使用的绝对路径或者项目绝对路径,那就没这个问题)

       MVC4的Bundling本应该是一个很OK的功能,也是MVC4的亮点

       但是累赘就是,被它压缩过的CSS里面的图片路径,原来的相对于CSS文件的引用路径会变为虚拟路径的相对路径

       比如:我们在项目中定义Bundling的时候如下

          bundles.Add(new ScriptBundle("~/Content/css/infocss").Include(
                            "~/Content/Skins/blue/Css/irameCss/style.css",
                            "~/Content/Css/BaseCss/infoform.css"
                            ));

       其中,("~/Content/css/infocss")为虚拟路径,被压缩后的路径,则不是按照我们定义的包含的CSS文件的相对路径,而是变成了虚拟路径的相对路径,这个时候,我们必须对每个CSS文件考虑里面的使用的图片路径再设置虚拟路径。因为我一个画面总共只需要调用三个CSS文件,而且原本的路径不一,所以感觉如果进行修改,得不偿失

       第二个问题,如果我的css文件或者JS文件本身设置了参数,比如query.artDialog.js?skin=blue,原本的设计是根据这里的SKIN参数,JS引用不同的CSS文件,如果使用Bundling,则只能分开调用。

       其他还有一些小的问题,因为时间关系,我也没有进行继续测试,在看其他博主进行使用Bundling,好像提过,对于JS带.min的文件,Bundling不进行压缩,而且文件也不进行导入。只能直接在UI画面引用,而且就算改变了JS文件名称,将.min去掉,但是本身就是压缩文件,如果再进行压缩,会不会有什么问题呢?

      

        

  • 相关阅读:
    动态SQL语句
    Mybatis配置和基于配置的使用
    JQuery封装的ajax、ajax上传文件、JSON对象
    Jsp生命周期、Jsp的使用、JSP隐式对象、EL表达式、JSTL
    原生Ajax
    Servlet上传文件、会话跟踪、Cookies和session的使用及其常用方法
    ResponseBodyAdvice拦截Controller方法默认返回参数,统一处理返回值/响应体
    钉钉机器人
    花瓶安装和使用
    方法入参检测工具类 spring自带org.springframework.util.Assert 通用类
  • 原文地址:https://www.cnblogs.com/zhuxiaohui/p/3862552.html
Copyright © 2020-2023  润新知