ASP.NET MVC4中的App_start中BundleConfig的介绍使用

在BundleConfig.cs中,指定CSS和JS,主要用来压缩JS和CSS

 

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

具体优势可自行百度或参看官方介绍:http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

这里仅简单记录下如何使用。

首先,如果是使用的ASP.NET MVC4基本或者其他内容更丰富的模板,Bundle应该已经自动配置上了,因为本身会有jQuery和jQuery UI的引用,这两项引用会用到Bundle。

就简单说一下要点吧。

首先在项目的App_Start文件夹中,会有一个BundleConfig.cs文件:

这里面写了所有需要Bundle的内容,可以自行设置:

其中的bundles.Add是在向网站的BundleTable中添加Bundle项,这里主要有ScriptBundle和StyleBundle,分别用来压缩脚本和样式表。用一个虚拟路径来初始化Bundle的实例,这个路径并不真实存在,然后在新Bundle的基础上Include项目中的文件进去。具体的Include语法可以查阅上面提供的官方简介。

然后对Bundle的注册是在项目根下的Global.asax文件中,这个文件中的Application_Start是网站程序的开始,里面注册了网站各种初始化的内容,其中就包括对BundleTable的Bundle添加:

默认情况下,Bundle是会对js和css进行压缩打包的,不过有一个属性可以显式的说明是否需要打包压缩:

BundleTable.EnableOptimizations = true;

如果将其设为false,那么就会和下面说的debug=true时的情况相同了。

在使用时,在相应位置调用ScriptRender和StyleRender的Render方法:

最终用户页面即可达到效果打包压缩效果。

有一个地方主要注意,在Web.config中,当compilation编译的debug属性设为true时,表示项目处于调试模式,这时Bundle是不会将文件进行打包压缩的,页面中引用的js和css会分散原样的展示在html中,这样做是为了调试时查找问题方便(压缩以后就恶心了。。。)。

最终部署运行时,将debug设为false就可以看到js和css被打包和压缩了。

=============

使用Bundle的关键在于要向ASP.NET中的BundleTable注册Bundle。

如果要在ASP.NET WebForm中使用Bundle,需要在新建项目时选择.NET Framework 4.5,最好使用模板网站新建,这样就可以直接看到Bundle了。ASP.NET MVC4中的App_start中BundleConfig的介绍使用

时间: 2024-08-03 11:14:24

ASP.NET MVC4中的App_start中BundleConfig的介绍使用的相关文章

ASP.NET MVC4(Razor)从客户端中检测到有潜在危险的 Request.Form 值

说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止. 该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击.若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0".示例: <httpRuntime requestValidationMode="2.0" />.设置此值后,可通过在 Page 指令

使用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 mvc4中model与Model的区别

@model模型定义 使用@model关键字可以定义一个Action里所对应的一个模型(经常可以叫他实体类), 其实是对动态变量进行实例化,这样就可以直接在cshtml文件中调用“Model”变量. 而这个模型的实例,需要通过Controller进行传输,如果没有则“Model”将为null. 模型可以是一个实体类,也可以是一个列表实例,字典对象都可以进行定义,但是和 Controller中的Action传回来的实例一定要一样,否则将会出现错误. Model 定义 MVC的第一个字母M是Mode

Asp.Net MVC4开发二: Entity Framework在Asp.Net MVC4中的应用

ORM作为一种数据库访问机制已广泛地应用于各种项目当中,在.Net开发中,应用比较广泛的ORM框架大致有下面几个: 官方支持的有:Linq to SQL,Entity Framework.三方的有:NHibernate.前面介绍过Linq to SQL的应用,这篇介绍一下Entity Framework在Asp.Net MVC4中的应用. 首先用Visual Studio(2012或2013,其它版本需要安装Asp.Net MVC4)创建一个Asp.Net MVC4的项目,项目创建完成后会发现E

ASP.NET MVC4中使用Ninject

1.NuGet获取Ninject.dll .NET技术交流群 199281001 .欢迎加入. 2.全局注册  Global.asax.cs 1 //注册Ninject依赖注入全局解析器 2 GlobalConfiguration.Configuration.DependencyResolver = new System.Web.Http.Dependencies.NinjectDependencyResolver(new Ninject.StandardKernel()); RegisterN

ASP.NET MVC4中调用WEB API的四个方法

http://tech.it168.com/a2012/0606/1357/000001357231_all.shtml [IT168技术]当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各种客户端去使用服务已经是十分普遍的做法.就.NET而言,目前提供了Remoting,WebService和WCF服务,这都能开发出功能十分强大的服务.然而,越来越多的互联网应用,希望将服务只是通过HTTP发布出去,而不是使用复杂的SOAP协议.为了解决这个问题,ASP.NET WebAPI就出现了.

ASP.NET MVC4中IOC应用的学习

Asp.net MVC也接触好久了,但由于自己一直主要负责后台,尤其是数据库方面的工作对于该框架并没有一个很好的了解,尤其是蒋金楠大师的ASP.NET MVC4框架剖析一书都买了2年多了,真正认真看过并实践过的也就第一章而已.最开始的时候还老认为这本书不好,又厚又晦涩,不容易坚持读完,现在回想起来都觉得羞愧.标准的徒弟不好怪师傅的心态,当然学习的确需要一个过程,从浅入深会越来越喜欢.到目前为止,我最喜欢的书籍系列依然是入门经典系列,内容简单有习题,方便记忆与实践.最近有一段学习JAVA的过程,让

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与目录(持续更新中...)

演示地址 帐号:admin 密码:admin123 请不要删除用户避免他人无法体验(文章中已经附带源码,源码开放到17讲下载) 快捷地址(QQ群37509873也有相应的下载):   第2讲源码下载  密码:wg0i 最新代码生成器+17讲源码下载 密码:n2ji SwfUpload在MVC4下多文件上传 密码:0ntz 也可以有偿获取一份最新源码联系QQ:729994997价格500 -------------------------------------------------------

在ASP.NET MVC4中实现同页面增删改查,无弹出框02,增删改查界面设计

在上一篇"在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建"中,已经搭建好了Repository层,本篇就剩下增删改查的界面了......今天的阳光真特么好,写完本篇,好出去在阳光下溜溜狗.散散步什么的,正所谓文武之道一张一弛,走神了,进入正题. 首先是一个View Model,在这里定义验证规则,提交和保存数据的时候还必须和领域模型映射. using System; using System.ComponentModel.DataAnnotat