千家信息网

Asp.Net MVC4如何使用Bundle捆绑压缩技术

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,这篇文章主要介绍了Asp.Net MVC4如何使用Bundle捆绑压缩技术,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。很多大网站都没
千家信息网最后更新 2025年02月24日Asp.Net MVC4如何使用Bundle捆绑压缩技术

这篇文章主要介绍了Asp.Net MVC4如何使用Bundle捆绑压缩技术,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

很多大网站都没有用Bundle技术造成很多资源浪费与性能的牺牲,别小瞧 用上了你会发现他的好处:

将多个请求捆绑为一个请求,减少服务器请求数

没有使用Bundle技术,debug下看到的是实际的请求数与路径

使用Bundle技术,并且拥有缓存功能
调试设置为Release模式并按F5或修改web.config,就可以看到合并与压缩的效果

压缩javascript,css等资源文件,减小网络带宽,提升性能

后台配置

  MVC4在架构上有些变动,简化了原来的Global.asax,增加了一些静态的配置文件在App_Start下面,留意下BundleConfig.cs,顾名思义是Bundle的配置,所有它的配置在这里进行就可以了,当然也可以单独的配置文件。

复制代码 代码如下:

public class BundleConfig { // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include( "~/Scripts/jquery-ui-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.unobtrusive*", "~/Scripts/jquery.validate*")); // Use the development version of Modernizr to develop with and learn from. Then, when you're // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( "~/Scripts/modernizr-*")); bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); bundles.Add(new StyleBundle("~/Content/themes/base/css").Include( "~/Content/themes/base/jquery.ui.core.css", "~/Content/themes/base/jquery.ui.resizable.css", "~/Content/themes/base/jquery.ui.selectable.css", "~/Content/themes/base/jquery.ui.accordion.css", "~/Content/themes/base/jquery.ui.autocomplete.css", "~/Content/themes/base/jquery.ui.button.css", "~/Content/themes/base/jquery.ui.dialog.css", "~/Content/themes/base/jquery.ui.slider.css", "~/Content/themes/base/jquery.ui.tabs.css", "~/Content/themes/base/jquery.ui.datepicker.css", "~/Content/themes/base/jquery.ui.progressbar.css", "~/Content/themes/base/jquery.ui.theme.css")); } }

这里大家可以按模块化去配置,我们看到的下面的Url对应的就是上面的bundles.Add(...) 所增加的js、css的virtualPath

需要注意的是不同virtualPath 增加的相同的资源文件,会被重复加载!

前台调用

对于公共的资源文件,通常我们都会放到_Layout.cshtml (webform中的母板页) 文件中

  Script文件引用:@Scripts.Render(virtualPath[,virtualPath2][,virtualPath3][,...])
   CSS文件引用: @Styles.Render(virtualPath[,virtualPath2][,virtualPath3][,...])

复制代码 代码如下:

@Styles.Render("~/Content/css") @Styles.Render("~/Content/themes/base/css")

...

@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryui") @RenderSection("scripts", required: false)

正则匹配需要的,过滤不需要的

复制代码 代码如下:

bundles.IgnoreList.Clear(); bundles.IgnoreList.Ignore("*.debug.js"); bundles.IgnoreList.Ignore("*.min.js"); bundles.IgnoreList.Ignore("*-vsdoc.js"); bundles.IgnoreList.Ignore("*intellisense.js"); bundles.Add(new ScriptBundle("~/bundles/jquery", jqueryCdn).Include( "~/Scripts/jquery-{version}.js")); //匹配jquery版本    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.unobtrusive*", //匹配文件名前缀为jquery.unobtrusive "~/Scripts/jquery.validate*")); ...

使用CDN

复制代码 代码如下:

bundles.UseCdn = true; //使用CDN string jqueryCdn = "http:deom.jb51.net/jslib/jquery/jquery-1.7.1.min.js"; bundles.Add(new ScriptBundle("~/bundles/jquery", jqueryCdn).Include( "~/Scripts/jquery-{version}.js"));

当cdn服务器挂了或不能访问了,这里就会选择本地的资源文件,debug下mvc 会让我们看到他原来的面具,这点非常好利于我们调试。  
   

感谢你能够认真阅读完这篇文章,希望小编分享的"Asp.Net MVC4如何使用Bundle捆绑压缩技术"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 代码 配置 技术 资源 篇文章 性能 服务器 面的 服务 不同 相同 顾名思义 价值 兴趣 前台 前缀 功能 同时 后台 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 破解同花顺数据库 数据库创建查询总计 数据库主备SR是什么意思 河南高校党建软件开发系统 广州电脑手机设备租赁软件开发 北京网络技术培训班 数据库怎么设置字段范围 曙光服务器cpu核数 深圳软件开发外包排行 日本2015年网络安全战略 网站服务器无缝切换 做个软件开发需要什么配置 第一观点网络技术 什么软件可以做服务器 湖南省计算机软件开发学费多少 软件开发的总体设计怎么写 芜湖网新网络技术怎么样 江西正规软件开发服务品质保障 浦东新区综合软件开发执行标准 网络安全教育警示大会 爱品阅网络技术工作室 杭州莱凡网络技术有限公司 广州软件开发定制价格 陈睿偷拿b站服务器下载导致b站 河南服务器电源价钱多少 vb替换矩阵中的数据库 服务器内存槽位A1A2怎么分 数据库汽车表设计 浙江大数据网络技术开发哪家好 金仓数据库 知乎
0