网站加载优化方法之一

现在的插件大大提升了我们开发的速度,但是同时,插件使用过多也会造成加载过慢的情况。

1 一般我们建议把非必须先执行的JS代码放在最后,因为JS文件的加载是阻塞性的,当执行到这里的时候,浏览器会等待JS加载完毕再往下运行,当然我们也可以选择异步加载JS,
async的定义和用法(是HTML5的属性)
async 属性规定一旦脚本可用,则会异步执行。

<script type="text/javascript" src="demo_async.js" async="async"></script>

即使文件再小,也是需要加载的,加载就必然耗费时间,所以尽可能少用插件。

2 另外有一些库我们又必不可少,比如JQ,或者MUI,BOOTSTRAP等等,这些库或者框架所包含的文件
即使有min的版本,它也占了一百甚至两三百K,这对加载速度来说影响是很大的,所以如果官方有给出CDN的地址,就尽量选择使用官方提供的CDN而不要自己下载到本地服务器。

3 压缩、格式化文件

我们编程过程中,产生的空格本身也是占字符的,所以在项目完成后自己也可以做一个压缩处理,形成min版本文件,尽管这个效果看起来不是特别明显,但我觉得还是有必要的。可以直接进入站长工具压缩,
要注意的是,压缩工具是有可能导致格式错乱的,我不知道是个人没有复制完整还是什么原因,压缩了两个结果文件都显示少了一些结尾符之类的,所以我就没有压缩了,如果要使用这个功能的请检查压缩后的文件是否发生错误。

4 GZIP压缩

开启Gzip压缩可以提高40%-80%的压缩率,是的,这是个重点,

查看服务器是否开启Gzip压缩可以进入

http://tool.chinaz.com/Gzips

如果没有开启则可以将服务器Gzip压缩开启,IIS,APACHE等都有这个功能

这里讲一下关于wampserver中 apache的开启

首先打开apache中的配置文件http.conf:
去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释#
去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的注释#
去掉 #LoadModule filter_module modules/mod_filter.so 前面的注释#
接着在http.conf配置文件的文末的include之前 加入以下代码:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json #对指定的内容进行压缩,压缩方式为默认的一个方法
</IfModule>

重启wampserver ,即开启了gzip网页压缩。

要注意的是,不要开启图片格式的压缩,因为压缩比率很大,对图片影响也大。

5 浏览器会缓存JS等文件,如果有需要可以设置meta 为no-cache模式,但我发现我的360浏览器大部分情况都没有缓存这些文件,我还没搞懂这是怎么一回事,而谷歌浏览器有缓存一些文件,而这些文件都是通过CDN加载进来的,查了一下response header发现存在cache-control:max-age=691200
也就是缓存存在的最大时间,在这里我也想知道,请求CDN的资源是如何返回这个头部内容的?接下来还会慢慢更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值