java Python Windows shell apache linux mysql 程序员 nginx Firefox 开源 php HTML5 微软 wordpress google linux命令 centos Android Ubuntu

Web前端:优化你的ExtJs JS下载速度

在此分享一下对Ext Js 开发应用过程中对Js的下载速度优化记录。

一、修改Nginx mime.types文件

application/x-javascript              js gjs;

二、在Nginx nginx.conf 文件中增加

对所有请求的js都转向gzip 压缩文件,IE6不支持gzip 压缩,所以需要把IE6排除

if ($http_user_agent !~ "MSIE [1-6].") {

rewrite  "^/*.js$" /$1.gjs;
}

所以请求gjs文件增加gzip头,关闭Nginx 的gzip

location ~ .*.(gjs)?$
{
  add_header Content-Encoding gzip;
  gzip off;
}

对所有js css 请求在本地缓存一天,你可以根据自己的实际情况调整

location ~ .*.(js|css)?$
{

expires      1d;
} 

大功告成,重启Nginx

再给大家一个批量生成gjs的Shell脚本

# vi gjs.sh

rm ziplist.txt

find   -name "*.js" -exec cp {} {}g ;
find   -name "*.jsg" -exec gzip {} ;
find   -name "*.jsg.gz" > ziplist.txt
find   -name "*.gjs" -exec rm {} ;
cat ziplist.txt | while read fname
do
mv ${fname} ${fname%'.jsg.gz'}.'gjs'
done

存档,修改权限,执行./gjs.sh 即可批量生成你应用目录下的所有js为gjs。。500多kb ExtJs压缩后只有100多Kb,很爽吧。

延伸阅读

评论