怎么让网站运行变慢一点?

html-css021

怎么让网站运行变慢一点?,第1张

好奇心日报无论是设计还是内容都追求高品质,于是丰富的图文混合成了标配:首页的banner图,文章详情页的配图,研究所有趣的gif图等等。

特别严重的时候,一篇文章有十多个gif图,加载花费的时间10-20秒之长,加载消耗的流量几十M之多,严重影响了用户体验!尤其是Mobile端,一寸流量一寸金;3-5s打不开页面,用户都会直接逃离。所以网页加载速度优化势在必行!

我们都知道一个网页的加载流程大致如下:

1、解析HTML结构。

2、加载外部脚本和样式表文件。

3、解析并执行脚本代码。// 部分脚本会阻塞页面的加载

4、DOM树构建完成。//DOMContentLoaded 事件

5、加载图片等外部文件。

6、页面加载完毕。//load 事件

一句话就是:请求HTML,然后顺带将HTML依赖的JS/CSS/iconfont等其他资源一并请求过来。

那么优化网页的加载速度,最本质的方式就是:减少请求数量 与 减小请求大小。

减少请求数量

1、将小图标合并成sprite图或者iconfont字体文件

2、用base64减少不必要的网络请求

3、图片延迟加载

4、JS/CSS按需打包

5、延迟加载ga统计

6、等等...

减小请求大小

1、JS/CSS/HTML压缩

2、gzip压缩

3、JS/CSS按需加载

4、图片压缩,jpg优化

5、webp优化 &srcset优化

6、等等...

按需加载,可样式是写在.vue模板中的,访问另一个页面样式就会追加到head标签中,访问的越多head标签的style标签也就越多,即便style标签加入scoped可以避免样式冲突:

后来我查了下有使用extract-text-webpack-plugin将css提取合并的。

这个代码:

import 'xx.css' or require('xx.css')