我在线阅读了一些关于优化javascript加载的文章。 我得到的几个关键点是最小化脚本文件(http请求)的数量,缩小和启用服务器上的gzip。目前,我所做的是所有javascript文件都缩小了,gzip也可以简单地启用。
第1部分)
我的问题是我有大约20个javascript文件,有一个common.js具有所有核心功能。除此之外,每个页面都会加载至少一个实现该页面功能的其他文件。
解决方案1,将所有脚本组合在一个大脚本文件中,并为每个客户端加载一次,这似乎是其他人正在做的事情。我猜YUI或JSMin可以用于压缩,所以我应该手动组合文件?
解决方案2,在需要所需功能时延迟加载,我真的不知道这是如何工作的,但它似乎是一种方法,但仍然需要更多的http请求。我很想听到有任何意见。
第2部分)
我正在处理的Web应用程序将部署到许多其他计算机,因为javascripts非常小,制作一个从中央服务器动态加载最新脚本的脚本是一个很好的做法,这样每个客户端都会运行最新的剧本?
答案 0 :(得分:3)
一般最佳实践被认为是
合并为尽可能少的文件
缩减大小
服务gzipped
尽可能晚地服务(有些可能需要在头部,但通常在首选或异步之前首选
这是一般建议,您需要进行测试并确保它适合您的情况。
最小化HTTP请求非常重要,延迟是性能杀手......
答案 1 :(得分:3)
第1部分:就像你说的那样,有两种方法。
第2部分:
答案 2 :(得分:2)
您必须将优化分为几个步骤
<script src='//...' async defer>
,如果你有脚本依赖,在使用asycn加载时要小心。如果您使用AMD模块,它将确保您的相关模块提前加载,并且每页刷新只加载一次。