前端优化之二:资源压缩
2018-01-18 本文已影响0人
蟹老板爱写代码
除了避免不必要的资源下载,在提高网页加载速度上您可以采取的最有效措施就是,通过优化和压缩其余资源来最大限度减小总下载大小。
方法一:去除文件无用字符(可通过在线工具或者npm工具压缩)
例如:
<html>
<head>
<style>
/* awesome-container is only used on the landing page */
.awesome-container { font-size: 120% }
.awesome-container { width: 50% }
</style>
</head>
<body>
<!-- awesome container content: START -->
<div>…</div>
<!-- awesome container content: END -->
<script>
awesomeAnalytics(); // beacon conversion metrics
</script>
</body>
</html>
压缩后:
<html><head><style>.awesome-container{font-size:120%;width: 50%}
</style></head><body><div>…</div><script>awesomeAnalytics();
</script></body></html>
可将网页字符数从 406 缩减到 150,缩减率高达 63%
方法二:服务端启动gzip
GZIP 对基于文本的资产的压缩效果最好:CSS、JavaScript 和 HTML。
所有现代浏览器都支持 GZIP 压缩,并且会自动请求该压缩。
您的服务器必须配置为启用 GZIP 压缩。
某些 CDN 需要特别注意以确保 GZIP 已启用。
上表显示了 GZIP 压缩对几种最流行的 JavaScript 内容库和 CSS 框架可实现的压缩率。压缩率范围为 60% 至 88%,将文件压缩源码后(产生文件名中包含“.min”的文件),再使用 GZIP 进行压缩,可进一步提高压缩率。
- 先应用内容特定优化:CSS、JS 和 HTML 压缩源码程序。
- 采用 GZIP 对压缩源码后的输出进行压缩。
启用 GZIP 是实现起来最简单并且回报最高的优化之一,遗憾的是,仍有许多人不去实现它。大多数网络服务器都会代您完成压缩内容的工作,您只需要确认服务器进行了正确配置,能够对所有可受益于 GZIP 压缩的内容进行压缩。
HTML5 Boilerplate 项目包含所有最流行服务器的配置文件样例,其中为每个配置标志和设置都提供了详细的注解。