标签存档: 压缩

使用YUICompressor压缩JS/CSS文件

[安装JDK]

1.下载地址:http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

2.设置环境变量
JAVA_HOME:C:\Program Files\Java\jdk1.7.0_25
PATH:%JAVA_HOME%\bin;

安装配置YUICompressor

1.下载地址:http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=211

2.双击 install.cmd 安装

3.右击js文件,会出现:Process with YUICompressor

或者,在CMD中执行:java -jar yuicompressor-2.4.2.jar -o test\build\example_btmp.min.js test\build\example_btmp.js

通用参数:
-h, –help 显示帮助信息
–type 指定输入文件的文件类型
–charset 指定读取输入文件使用的编码
–line-break
在指定的列后插入一个 line-bread 符号
-v, –verbose 显示info和warn级别的信息
-o 指定输出文件。默认输出是控制台。

JavaScript专用参数:
–nomunge 只压缩, 不对局部变量进行混淆。
–preserve-semi 保留所有的分号。
–disable-optimizations 禁止优化。

Apache 添加模块 gzip配置

由于在编译apache时没有加一些参数,只能另外添加安装:

$ cd /data/super/httpd-2.2.21/modules/filters
$ /usr/local/apache2/bin/apxs -i -c -a mod_deflate.c
$ cd /data/super/httpd-2.2.21/modules/metadata
$ /usr/local/apache2/bin/apxs -i -a -c mod_headers.c
$ ls /usr/local/apache2/modules
httpd.exp  libphp5.so  mod_deflate.so  mod_headers.so

apxs命令参数说明:
-i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码 文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。

Ps:如果是新安装apache,参数加上 –enable-headers –enable-deflate 就可以了

开启gzip压缩配置

$ vim /usr/local/apache2/conf/httpd.conf
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
<IfModule mod_deflate.c>
        DeflateCompressionLevel 3  # 压缩程度的等级
        AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
        AddOutputFilter DEFLATE css js
        SetOutputFilter DEFLATE  # 插入过滤器
        # 不压缩图片等格式文件
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
</IfModule>
第 1 页,共 1 页1