推荐JavaScript代码放在外部文件的三个理由
推荐JavaScript代码放在外部文件的三个理由
作者:坚果
公众号:""
华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。
虽然可以直接在 HTML 文件中嵌入 JavaScript 代码,但通常认为最佳实践是
尽可能将 JavaScript 代 码放在外部文件中
不过这个最佳实践并不是明确的强制性规则。推荐使用外部文件的理由如下。
-
可维护性。JavaScript 代码如果分散到很多 HTML 页面,会导致维护困难。而用一个目录保存 所有 JavaScript 文件,则更容易维护,这样开发者就可以独立于使用它们的 HTML 页面来编辑 代码。
-
缓存。浏览器会根据特定的设置缓存所有外部链接的 JavaScript 文件,这意味着如果两个页面都 用到同一个文件,则该文件只需下载一次。这最终意味着页面加载更快。
-
适应未来。通过把 JavaScript 放到外部文件中,就不必考虑用 XHTML 或前面提到的注释黑科技。
包含外部 JavaScript 文件的语法在 HTML 和 XHTML 中是一样的。 在配置浏览器请求外部文件时,要重点考虑的一点是它们会占用多少带宽。在 SPDY/HTTP2 中, 预请求的消耗已显著降低,以轻量、独立 JavaScript 组件形式向客户端送达脚本更具优势。
比如,第一个页面包含如下脚本: ...
<script src="main.js"></script>
<script src="sample1.js"></script>
<script src="sample2.js"></script>
后续页面可能包含如下脚本:
<script src="sample3.js"></script>
<script src="sample4.js"></script>
<script src="sample5.js"></script>
在初次请求时,如果浏览器支持 SPDY/HTTP2,就可以从同一个地方取得一批文件,并将它们逐个 放到浏览器缓存中。从浏览器角度看,通过 SPDY/HTTP2 获取所有这些独立的资源与获取一个大 JavaScript 文件的延迟差不多。
在第二个页面请求时,由于你已经把应用程序切割成了轻量可缓存的文件,第二个页面也依赖的某 些组件此时已经存在于浏览器缓存中了。
当然,这里假设浏览器支持 SPDY/HTTP2,只有比较新的浏览器才满足。如果你还想支持那些比较 老的浏览器,可能还是用一个大文件更合适
- 点赞
- 收藏
- 关注作者
评论(0)