在网页中,我们经常需要引用大量的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 用法和说明(打包javascript和css)相关推荐

  1. ASP.NET MVC Bundles 之学习笔记

    在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以AS ...

  2. ASP.NET MVC Bundles的使用

    在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以AS ...

  3. mvc怎么单独引用css文件,关于asp.net mvc:如何在剃刀视图中引用.css文件?

    我知道如何在layout.cshtml文件上设置.css文件,但是在每个视图的基础上应用样式表呢? 我在这里的想法是,在layout.cshtml中,您可以使用标记,但在非布局视图中不能这样做.标签在 ...

  4. Sencha Touch 打包javaScript 和 css

    打包js文件 首先看下官网对几个核心文件的说明文档: Name Type Loader Minified Comments Debug Compat Usage sencha-touch-debug. ...

  5. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  6. 如何在 ASP.NET MVC 中集成 AngularJS(2)

    在如何在 ASP.NET MVC 中集成 AngularJS(1)中,我们介绍了 ASP.NET MVC 捆绑和压缩.应用程序版本自动刷新和工程构建等内容. 下面介绍如何在 ASP.NET MVC 中 ...

  7. Essential Chart for ASP.NET MVC商业图表控件相关介绍及下载

    Essential Chart for ASP.NET MVC是一款功能强大的商业图表控件,提供了创新的数据对象模型可以很容易地与多种数据源进行绑定,提供了35种图表类型,支持2D和3D显示,多轴显示 ...

  8. [转载]在ASP.NET MVC中,使用Bundle来打包压缩js和css

    在ASP.NET MVC4中(在WebForm中应该也有),有一个叫做Bundle的东西,它用来将js和css进行压缩(多个文件可以打包成一个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原 ...

  9. ASP.NET MVC 4 (十一) Bundles和显示模式

    Bundles用于打包CSS和javascript脚本文件,优化对它们的组织管理.显示模式则允许我们为不同的设备显示不同的视图. 默认脚本库 在VS创建一个MVC工程,VS会为我们在scripts目录 ...

最新文章

  1. php面向对象面试题
  2. C++中的覆盖(重写)、重载、隐藏(重定义)、多态!
  3. 【转】C++ this指针(直戳本质)
  4. Spring JdbcTemplate CRUD增删改查操作
  5. AOP日志-前置通知操作
  6. Java的三种工厂模式
  7. Redis的RDB AOF DATABASE
  8. 运用Loadrunner测试Mysql数据库性能
  9. 2014年10月30日-----SQL的基础知识
  10. 论文查重率这么高,是由什么原因造成的?
  11. Graphpad prism 使用教程汇总(更新)
  12. JSON在线格式化,美化
  13. Compass实战 站内搜索
  14. iTunes 12恢复.ipsw固件
  15. 花样16流水灯c语言程序,单片机控制花样流水灯原理图及程序
  16. 微信小程序开发(2) - 微信小程序实现拍照和录像拍摄功能方法
  17. 篮球与计算机技术,浅析计算机技术应用对高校篮球教学的作用与影响
  18. FreePic2Pdf 制作书签
  19. 软件工程——四则运算2
  20. Flask框架项目部署:阿里云CentOS操作系统

热门文章

  1. codevs 1376 帕秋莉•诺蕾姬
  2. Javabean学习纪要
  3. EL表达式和JSTL
  4. iOS-iOS9.Plist插入网络安全xml
  5. 【转】G40-70、G50-70联想小新笔记本SR1000随机Linux改Windows 7系统操作指导
  6. 让Updatepanel中的控件触发整个页面Postback
  7. 请关注你的网站跳出率
  8. 深度linux卡在扫描硬盘,linux使用badblocks命令扫描硬盘排除故障
  9. iphone屏幕录制_今日应用:iPhone 不越狱也可以录制屏幕了
  10. android的webView的教程,Android WebView 应用界面开发教程