mvc4开篇之BundleConfig(1)
新建一个mvc4默认项目,会看到以下目录
打开App_start 里面BundleConfig.cs文件
你会看到这么一段话:
有关 Bundling 的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=254725
我现在讲的东西跟上面网址所说大同小异,不同网址里面是英文版
我这里讲的一些简单点
Bundling 这个英文从字面意思来说是:捆绑意思。。。
从程序层面来说:就是将所有文件捆绑在一起,然后压缩成一个文件
Demo就不使用官方,我手动建一个,估计大家会看明白点
1、在BundleConfig.cs加入以下2段话
1 2 3 | bundles.Add( new StyleBundle( "~/test/style" ).Include( "~/Content/a.css" , "~/Content/b.css" )); |
注意:~/test/style这个可以理解虚拟文件夹,实际上是不存在,但它里面包括2个文件
1 | ~/Content/a.css 和 ~/Content/b.css |
2、 在a.css加入以下内容,没有实际意义,为了测试
.a_test_style {
font-size:12px;
}
在b.css加入以下内容,没有实际意义,为了测试
.a_test_style {
font-size:12px;
}
3、在Home文件夹增加Index视图,当然对于controller也要增加 index()方法
参考一下官方调用例子 site.master里面
<%: Styles.Render("~/Content/css") %>
<%: Scripts.Render("~/bundles/modernizr") %>
<%: Styles.Render("~/Content/themes/base/css") %>
测试页面代码很简单
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <%@ Page Language= "C#" Inherits= "System.Web.Mvc.ViewPage<dynamic>" %> <!DOCTYPE html> <html> <head runat= "server" > <meta name= "viewport" content= "width=device-width" /> <title>Test</title> <%:Styles.Render( "~/test/style" ) %> </head> <body> <div> <p>有钱就是任性</p> </div> </body> </html> |
1 | 调用:<%:Styles.Render( "~/test/style" ) %><br><br>4、生成 运行,看到以下结果<br><br>看到2条请求(google浏览器 F12)<br><br> |
1 |
当然 这个效果不是我最终所要的..
5、这就要我们合并文件,有2个方法
1、在配置文件Config<compilation debug="true" targetFramework="4.0" /> 将debug改为false
2、在BundleConfig.cs加上这段话 BundleTable.EnableOptimizations = true;
将config里面debug=false改一下,运行浏览器试试效果
看到只有一个请求,这是否就是我们所要的的呢?
F12打开谷歌开发工具,response看到 a.css b.css里面文件合并在一起
6、这样子做好处:减少http请求,缩短响应时间,提高网页速度,起到优化网站的作用。当然好处不止这些……
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?