手机版

ASP.NET MVC中用Bundle打包压缩js和css的方法

时间:2021-10-30 来源:互联网 编辑:宝哥软件园 浏览:

在ASP.NET MVC 4(应该也存在于WebForm中)中,有一个叫Bundle的东西,用来压缩js和css(多个文件可以打包成一个文件),可以区分调试和非调试。调试时不压缩,而是以原来的方式显示,方便发现问题。

具体优势请参考百度或官方介绍:http://www.asp.net/MVC/tutorials/MVC-4/bundling-and-finification.

这里我们简单记录一下如何使用它。

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

简单说一下要点。

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

它包含了所有需要Bundle的内容,可以自己设置:

其中,捆绑包。添加是将捆绑项目添加到网站的捆绑列表中。主要有ScriptBundle和StyleBundle,分别用于压缩脚本和样式表。用虚拟路径初始化Bundle的实例,虚拟路径实际上并不存在,然后在新Bundle的基础上在项目中包含文件。具体的Include语法可以在上面提供的官方介绍中找到。

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

默认情况下,Bundle压缩并打包js和css,但是有一个属性可以明确指示是否需要打包和压缩:

复制代码如下:bundletable。enableoptimizations=true

如果设置为false,它将与debug=true时相同。

使用时,在相应位置调用脚本渲染和样式渲染的渲染方法:

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

有一个要点需要注意:在Web.config中,当编译的debug属性设置为true时,表示项目处于调试模式。此时Bundle不会对文件进行打包压缩,页面中引用的js和css会按原样显示在html中,方便调试时发现问题(压缩后会比较复杂)。

当运行时最终部署时,您可以看到通过将debug设置为false来打包和压缩js和css。

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

使用捆绑包的关键是在ASP.NET的捆绑包商店注册捆绑包。

如果您想在ASP.NET网络表单中使用捆绑包,您需要选择。NET Framework 4.5在新建项目时,最好使用模板网站新建一个,这样就可以直接看到Bundle了。

以上就是本文的全部内容,希望对大家的学习有所帮助。

版权声明:ASP.NET MVC中用Bundle打包压缩js和css的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。