ASP.NET MVC Bundles的使用
在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以ASP.NET MVC4引入了Bundles特性,使得我们可以方便的管理javascript和css文件。
原来,我们引用css和javascript文件我们需要这样一个一个的引用:
<scriptsrc="~/Scripts/jquery-1.8.2.js"></script>
<scriptsrc="~/Scripts/jquery-ui-1.8.24.js"></script>
<scriptsrc="~/Scripts/jquery.validate.js"></script>
<linkhref="~/Content/Site.css"rel="stylesheet"/>
当需要引用文件的数量较少时还好,但一旦每个页面都需要引用较多文件时,会造成极大的不便,当我们想更换某个引用文件时,将会浪费大量的时间。发布时,还要将一些库替换成release版,比如上面的jquery-1.8.2.js所对应的jquery-1.8.2.min.js
还好,现在我们可以使用Bundles特性:
public class BundleConfig
{
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*"));bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
}
}
接着在Global.asax文件的Application_Start方法中调用BundleConfig.RegisterBundles方法:
protected void Application_Start()
{AreaRegistration.RegisterAllAreas();WebApiConfig.Register(GlobalConfiguration.Configuration);FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);
}
在上面我们可以看到我们按照功能的不同,将不同的文件分到了相应的Bundle(Bundle就是包的意思),其中构造函数中的string参数是Bundle的名称,Include函数是将参数相应的文件包含成一个Bundle。可以发现,对于jquery库我们使用了这样的名称~/Scripts/jquery-{version}.js,其中{version}部分代表版本号的意思,MVC将会替我们在Scripts文件中寻找对应的”jquery-版本号.js”文件,并且在非debug模式下,MVC则会使用“jquery-版本号.min.js”文件。
我们还看到我们使用了这样的名称~/Scripts/jquery.validate*的名称,*是一个通配符,这就意味着Scripts文件夹下的所有前缀为jquery.validate的文件都将包含在同一个Bundle中。
最后,我们可以View上使用Bundle来代替原来引用的方式:
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")
ASP.NET MVC Bundles的使用相关推荐
- ASP.NET MVC Bundles 用法和说明(打包javascript和css)
在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以AS ...
- ASP.NET MVC Bundles 之学习笔记
在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以AS ...
- ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS
背景 LESS确实不错,只是每次写完LESS都要手工编译一下有点麻烦(VS插件一直没有安装好),昨天在官方看到了如何用IBundleTransform集成LESS,今天就记录一下. 参考资料:http ...
- 在ASP.NET MVC下实现树形导航菜单
在需要处理很多分类以及导航的时候,树形导航菜单就比较适合.例如在汽车之家上: 页面主要分两部分,左边是导航菜单,右边显示对应的内容.现在,我们就在ASP.NET MVC 4 下临摹一个,如下: 实现的 ...
- ASP.NET MVC 5 - 视图
2019独角兽企业重金招聘Python工程师标准>>> 在本节中,你要去修改HelloWorldController类,使用视图模板文件,在干净利索地封装的过程中:客户端浏览器生成H ...
- 【初学者指南】在ASP.NET MVC 5中创建GridView
介绍 在这篇文章中,我们将会学习如何在 ASP.NET MVC 中创建一个 gridview,就像 ASP.NET Web 表单中的 gridview 一样.服务器端和客户端有许多可用的第三方库,这些 ...
- 模型(Model)– ASP.NET MVC 4 系列
为 MVC Music Store 建模 在 Models 目录中为专辑.艺术家.流派建模: public class Album { public virtual int AlbumId { get ...
- apache2.4.9 开启path_info访问_【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)...
新建项目 打开VS2015,找到菜单项[文件->新建->项目],打开向导对话框: 注意我们的选择项: 运行平台:.NET FrameWork 4.5 项目模板:ASP.NET Web Ap ...
- ASP.NET MVC使用Bootstrap系列(1)——开始使用Bootstrap
阅读目录 Bootstrap结构介绍 在ASP.NET MVC 项目中添加Bootstrap文件 为网站创建Layout布局页 使用捆绑打包和压缩来提升网站性能 在Bootstrap项目中使用捆绑打包 ...
最新文章
- js/jq判断鼠标滚轮方向
- Python PIL | Image.resize() 裁剪 缩放图片
- 醉了,RPC 超时设置也能引起线上事故!
- EZ 2018 03 23 NOIP2018 模拟赛(五)
- 【机器学习】使用 Python 构建电影推荐系统
- json转modbus协议模块_华杰智控Profinet 分布式IO系列模块-华杰智控-新闻中心
- 中间件和微服务,Docker以及原生云架构的关系
- 7-8 数字三角形 (31 分)(思路+详解+动态规划)Come Baby!!!!!!!!!!!
- FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS
- Go语言游戏服务器思维导图
- ZAB协议(ZooKeeper Atomic Broadcast)入门
- Lightroom Classic 教程,如何在 Lightroom Classic 中编辑照片?
- springmvc转换器converter的使用
- vs商业智能项目的安装
- 半糖主义的伤感空间日志推荐:心碎后,我们落泪
- 华为机试真题 C++ 实现【最短木板长度】【100%通过率】【2022.11 Q4 新题】
- Excel的类、方法和Excel操作
- 为什么用企业微信做运营
- Docker部署若伊前后端分离项目到阿里云服务器
- 基于PyTorch搭建CNN实现视频动作分类任务 有数据有代码 可直接运行