关于 ASP.NET 中的 Bundle 的补充说明(草稿)

一直以来,都认为 Bundle 有可能会不正确的压缩,而导致脚本出错,所以一直将这个功能处于禁用状态。

突然发现,其实只是自己使用的不对。。。

目前发现 Bundle 会导致的错误分两种情况:

1、路径错误

一方面是一些 css 文件中的定义,会使用相对路径引用 图片、字体 等文件,如果在 Bundle 中重新定义的路径不符合 css 中已定义的相对路径,那么就会导致相关的资源无法找到,页面中的一些样式也就不能正确的加载了。

另一方面是有一些 js 文件中,会使用代码加载另一些 js 或者 css 文件,“另一些 js 或者 css”它们的路径如果是依赖于当前 js 文件的 url ,那么还是因为 Bundle 中的重新定义,导致代码不能正确识别当前的路径,导致加载出错。

这个问题说好解决也好解决,说别扭也挺别扭的。

那就是在定义 Bundle 的时候,不要再重新定义路径,就按原 js 或者 css 文件的路径来定义 Bundle ,这样在客户端浏览器看起来就是一样的了。

2、真的是压缩出错了

刚发现不对的时候,我还以为压缩不会导致脚本出错呢,结果后来发现,还是有这个可能的,不过几率比较低。

遇到这种情况,我们可以提前将 js 或者 css 文件压缩好(也就是制作带 min 后缀的版本),然后让 Bundle 自动识别就好了。

时间: 2024-10-07 12:02:16

关于 ASP.NET 中的 Bundle 的补充说明(草稿)的相关文章

使用asp.net MVC4中的Bundle遇到的问题及解决办法分享

本文转自http://www.jb51.net/article/47264.htm 这篇文章主要介绍了使用asp.net MVC4中的Bundle遇到的问题及解决办法,需要的朋友可以参考下 背景    之前有过使用MVC3的经验,也建过MVC4的基本样例看过,知道有bundle这么一个方法. 近日想建个网站使用MVC4,但是我觉得在基本样例上改不好,有太多无用的东西,所以就建了一个空白的MVC的程序,然后自己写需要的东西, 将程序的目标框架从4.5降到了4.0(我使用的是VS2013),问题就来

ASP.NET MVC下Bundle的使用

ASP.NET MVC中Bundle是用于打包捆绑资源的(一般是css和js),它是在全局文件Global.asax.cs中注册Bundle,而注册的具体实现默认是在App_Start文件夹的BundleConfig.cs中 public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); Filt

充分发挥异步在 ASP.NET 中的强大优势

作者:Brij Bhushan Mishra 最近几年,异步编程受到极大关注,主要是出于两个关键原因:首先,它有助于提供更好的用户体验,因为不会阻塞 UI 线程,避免了处理结束前出现 UI 界面挂起.其次,它有助于大幅扩展系统,而且无需添加额外硬件. 但是,编写合适的异步代码来管理线程本身是项乏味的工作.虽然如此,其巨大好处让许多新旧技术纷纷开始使用异步编程.微软自发布了 .NET 4.0以后也对其投入颇多,随后在 .NET 4.5中引入了 async 和 await 关键字,使异步编程变得前所

asp.net中,<%#%>,<%=%>和<%%>分别是什么意思,有什么区别

在asp.net中经常出现包含这种形式<%%>的html代码,总的来说包含下面这样几种格式: 一. <%%> 这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言. 特别注意:服务器控件中不能有<%%>语法 (这里用C#代码) <% int a = 2; int b = 3; int c = a + b; Response.Write(c); %>二. <

[转载] asp.net中,&lt;%#%&gt;,&lt;%=%&gt;和&lt;%%&gt;分别是什么意思,有什么区别

在asp.net中经常出现包含这种形式<%%>的html代码,总的来说包含下面这样几种格式: 一. <%%> 这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言. 特别注意:服务器控件中不能有<%%>语法 (这里用C#代码) <% int a = 2; int b = 3; int c = a + b; Response.Write(c); %>二. <

秒懂ASP.NET中的内置对象

上篇博客,小编主要简单的介绍了一下ASP.NET中的控件,这篇博客,小编主要简单总结一下ASP.NET中的内置对象,七个内置对象分别是:Request.Response.Application.Cookies.Session.Server.Trace.这些对象使得用户更容易收集通过浏览器请求发送的信息.相应浏览器以及存储用户信息,以实现其他特定的状态管理和页面信息的传递,首先,我们来看下面一张图: 接下来,小编主要从概述,基本语法,常用属性和方法以及一些小例子入手,详细介绍七个内置对象.  Re

ASP.NET中的加密页面机制

本节介绍ASP.NET对视图信息的加密功能.Page.RegisterRequiresViewStateEncryption方法就是将控件注册为需要视图状态加密的控件.如果您要开发用于处理潜在的敏感信息的自定义控件,请调用RegisterRequiresViewStateEncryption方法向页注册控件,并确保该控件的视图状态信息已加密.RegisterRequiresViewStateEncryption方法必须在页生命周期的PreRender阶段中或该阶段之前调用,下面在前面ViewSt

ASP.Net中页面传值的几种方式

开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有3-5年经验的,有5-10年经验的,对于所有的面试者,我几乎问了同一道题:"请说说你所知道的页面之间传值的几种形式和方法, 并阐述他们的原理和过程",关于这道题,从大家的回答来看,结果并不是很理想,从种类上来说,大部分人回答5种左右,极少部分能回答8种,没有超过8种的,但从深度上来说,很少

在asp.net中经常出现包含这种形式&lt;%%&gt;的html代码

总的来说包含下面这样几种格式: 一.  <%%> 这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言. 特别注意:服务器控件中不能有<%%>语法 (这里用C#代码)   <%         int a = 2;         int b = 3;         int c = a + b;         Response.Write(c);     %>二. &l