使用Asp.Net进行CSS/JS GZip压缩

Stu*_*dad 11 javascript compression asp.net iis gzip

我目前在托管的虚拟服务器上,我想为我的Asp.Net 3.5站点启用GZip压缩,我该如何开始?

我试过使用'打包'的JS文件,但它们不起作用,我假设是因为它们没有正确处理......?

Eli*_*ver 20

GZIP应由IIS处理,您运行的是哪个版本的IIS?

客户端负责向服务器询问GZiped版本.服务器将寻找两件事,请求是http 1.1,以及Accept-Encoding:gzip的头.查找这些标头的简单方法是使用firebug

IIS6 - 可以使用iis管理单元启用GZip.使用IIS6的Gzip上的微软MSDN主题

IIS7 - 可以使用httpCompression xml标签使用web.config启用GZip .Nick Berardi使用IIS 7压缩JavaScript

通过缩小和打包javascript文件,您可以通过删除空格和缩短变量名来减少JavaScript的总大小.


Che*_*ian 7

我这样做的首选方法是使用像YUI Compressor这样的压缩工具,并使其成为构建过程的一部分(缩小后,压缩率不会那么高.或者你可以同时使用两者.点是你不应该' t错过了下面给出的更大的性能问题).

IIS压缩的主要问题之一是它没有将所有JS/CSS文件打包到一个文件中.因此,如果您的站点有7个JS文件和20个CSS(令人惊讶的是这很常见),它将需要27次HTTP往返才能获取您的数据.编写HTTP处理程序来执行此操作对于具有共享托管的人来说是一个好主意.

一个简单的构建算法是在JS/CSS根目录中有一个make文件

If(build.config == release) {
Add your js file in order to the make files.
    e.g. jQuery.js jQuery.form.js  jQuery.container.js custom.js 
Split and pass it as params to YUI
Compress
O/P to site.js 
Delete all the above files.
}
Run Code Online (Sandbox Code Playgroud)

在发布模式下,您的页面主页应该只引用site.js

编辑:这是一个获得YUI和nant集成的链接.
编辑:Justin Etheredge发布了一个很棒的工具来组合和压缩名为SquishIt的 css/js文件.