- 01-10 – 合并多个JavaScript文件
第一部分 – 第10章
移动网站页面使用多个外部JavaScript文件是一个非常普遍的现象。 JavaScript对于一些业务目标而言更是必不可少。例如:
- 支持用户与移动网站页面交互。在大多数情况下,为了使用户交互能够在你的移动网站页面上正确执行,需要编写自己的JavaScript代码。
- 允许跟踪移动网站页面上的用户行为。例如,谷歌分析JavaScript跟踪代码可以用来记录移动网站页面上的用户行为。
单一JavaScript文件
使用JavaScript最常用的方式就是将JavaScript放到外部文件中,并将这个外部JavaScript文件包含到网站页面的head部分中。例如,外部文件命名为main.js。
<head> <script src="http://m.example.com/main.js"></script> </head>
多个JavaScript文件
在多数其他情况下,可能会有多个外部JavaScript文件。在一个单一移动网站页面内,可能head部分包括一些,body部分包含另一些。这种方式并不好,因为下载每个外部JavaScript文件会增加一个额外却不必要的http请求,从而降低页面的加载速度。
比如,移动网站页面有3个外部JavaScript文件,其中2个在head部分,1个在body部分。
<head> <script src="http://m.example.com/main.js"></script> <script src="http://m.example.com/script2.js"></script> </head> <body> <script type="text/javascript" src="http://m.example.com/script3.js"></script> </body>
减少HTTP请求
页面要求网络浏览器下载的外部资源越少,页面加载的速度越快。
当网络浏览器必须下载的外部JavaScript文件变少时,移动网站页面就可以更快加载。为达成这个目标,可以将多个JavaScript文件合并为更少的文件甚至是一个单一文件。这样的操作将减少http请求的数量。假定可以合并所有的外部JavaScript文件为一个单一文件(例如combined.js)。
<head> <script src="http://m.example.com/combined.js"></script> </head>
合并多个JavaScript文件为一个文件
合并所有JavaScript文件为一个单一文件:
- 打开所有3个JavaScript文件。例如main.js,script2.js,以及script3.js。
- 拷贝并粘贴3个JavaScript文件所有的内容到一个新的文件中,例如combined.js。
- 更新head部分script标签的内容以请求新文件combined.js。
- 移除用于请求其他2个JavaScript文件的所有script标签的内容。
提示
- 如果你无法将所有的JavaScript文件合并为一个单一文件,就尽量减少外部JavaScript文件的数量。在大多数情况下,合并7至8个JavaScript文件为2至3个具有很大的可能性,这并不会导致任何JavaScript故障的发生。
- JavaScript文件的顺序往往很重要。例如,第一个JavaScript文件是一个jQuery文件,但在第二个JavaScript文件的代码中,使用了第一个文件中的某个功能。在这种情况下, 将这些JavaScript代码被合并到一个单一JavaScript文件中时,必须确保以正确的顺序放置。
移动网站性能技术白皮书在2017年3月正式出版。
英文版:Combine Multiple JavaScript Files – 繁体中文版:合并多个JavaScript文件
移动网站性能技术白皮书上的内容按下列许可协议发布: CC Attribution-Noncommercial 4.0 International