@@ -554,23 +554,23 @@ JSONP的请求URL通常是像这样:
554
554
555
555
## 部署JavaScript
556
556
557
- 在生产环境中使用JavaScript时,有不少性能方面的考虑。 我们来讨论一下最重要的一些。如果需要了解所有的细节,可以参见O'Reilly出社的《高性能网站建设指南》和《高性能网站建设进阶指南》。
557
+ 在生产环境中使用JavaScript时,有不少性能方面的考虑, 我们来讨论一下最重要的一些。如果需要了解所有的细节,可以参见O'Reilly出社的《高性能网站建设指南》和《高性能网站建设进阶指南》。
558
558
559
559
### 合并脚本
560
560
561
561
创建高性能网站的第一个原则就是尽量减少外部引用的组件(译注:这里指文件),因为HTTP请求的代价是比较大的。具体就JavaScript而言,可以通过合并外部脚本来显著提高页面加载速度。
562
562
563
- 我们假设你的页面正在使用jQuery库,这是一个.js文件 。然后你使用了一些jQuery插件,这些插件也是单独的文件。这样的话在你还一行代码都没有写的时候就已经有了四五个文件了。把这些文件合并起来是很有意义的,尤其是其中的一些体积很小(2-3kb)时,这种情况下,HTTP协议中的开销会比下载本身还大。合并脚本的意思就是简单地创建一个新的js文件 ,然后把每个文件的内容粘贴进去。
563
+ 我们假设你的页面正在使用jQuery库,这是一个` .js ` 文件 。然后你使用了一些jQuery插件,这些插件也是单独的文件。这样的话在你还一行代码都没有写的时候就已经有了四五个文件了。把这些文件合并起来是很有意义的,尤其是其中的一些体积很小(2-3kb)时,这种情况下,HTTP协议的开销会比下载本身还大。合并脚本的意思就是创建一个新的js文件 ,然后把每个文件的内容粘贴进去。
564
564
565
- 当然,合并的操作应该放在代码部署到生产环境之前,而不是在开发环境中,因为这会使调试变得困难 。
565
+ 当然,合并的操作应该放在代码部署到生产环境之前,而不是在开发环境中,否则会使调试变得困难 。
566
566
567
567
合并脚本的不便之处是:
568
568
569
- - 在部署前多了一步操作,但这很容易使用命令行自动化工具来做,比如使用Linux/Unix的cat :
569
+ - 在部署前多了一步操作,但这很容易使用命令行自动化工具来做,比如使用Linux/Unix的 ` cat ` :
570
570
571
- $ cat jquery.js jquery.quickselect.js jquery.limit.js > all.js
571
+ $ cat jquery.js jquery.quickselect.js jquery.limit.js > all.js
572
572
- 失去一些缓存上的便利——当你对某个文件做了一点小修改之后,会使得整个合并后的代码缓存失效。所以比较好的方法是为大的项目设定一个发布计划,或者是将代码合并为两个文件:一个包含可能会经常变更的代码,另一个包含那些不会轻易变更的“核心”。
573
- - 你需要处理合并后文件的命名或者是版本问题,比如使用一个时间戳all_20100426.js或者是使用文件内容的hash值 。
573
+ - 你需要处理合并后文件的命名或者是版本问题,比如使用一个时间戳 ` all_20100426.js ` 或者是使用文件内容的hash值 。
574
574
575
575
这就是主要的不便之处,但它带来的好处却是远远大于这些麻烦的。
576
576
@@ -580,19 +580,19 @@ JSONP的请求URL通常是像这样:
580
580
581
581
从用户的角度来想,完全没有必要下载代码中的注释,因为这些注释根本不影响代码运行。
582
582
583
- 压缩代码带来的好处多少取决于代码中注释和空白的数量 ,也取决于你使用的压缩工具。平均来说,压缩可以减少50%左右的体积。
583
+ 压缩代码能带来多少好处取决于代码中注释和空白的数量 ,也取决于你使用的压缩工具。平均来说,压缩可以减少50%左右的体积。
584
584
585
- 服务端脚本压缩也是应该要做的事情。配置启用gzip压缩是一个一次性的工作,能带来立杆见影的速度提升。即使你正在使用共享的空间,供应商并没有提供那么多服务器配置的空间,大部分的供应商也会允许使用.htaccess配置文件 。所以可以将这些加入到站点根目录的.htaccess文件中 :
585
+ 服务端脚本压缩也是应该要做的事情。配置启用gzip压缩是一个一次性的工作,能带来立杆见影的速度提升。即使你正在使用共享的空间,供应商并没有提供那么多服务器配置的空间,大部分的供应商也会允许使用` .htaccess ` 配置文件 。所以可以将这些加入到站点根目录的` .htaccess ` 文件中 :
586
586
587
587
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/javascript application/json
588
588
589
- 平均下来压缩会节省70%的文件体积。将代码压缩和服务端压缩合计起来,你可以期望你的用户只下载你写出来的未压缩文件体积的15% 。
589
+ 平均下来压缩会节省70%的文件体积。将代码压缩和服务端压缩合计起来,你的用户只需要下载你写出来的未压缩文件体积的15%左右 。
590
590
591
591
### 缓存头
592
592
593
- 与流行的观点相反,文件在浏览器缓存中的时间并没有那么久。你可以尽你自己的努力,通过使用Expires头来增加非首次访问时命中缓存的概率 :
593
+ 与比较流行的观点相反,其实文件在浏览器缓存中的时间并没有那么久。你可以通过使用Expires头来增加非首次访问时命中缓存的概率 :
594
594
595
- 这也是一个在.htaccess中做的一次性配置工作 :
595
+ 这也是一个在` .htaccess ` 中做的一次性配置工作 :
596
596
597
597
ExpiresActive On
598
598
ExpiresByType application/x-javascript "access plus 10 years"
0 commit comments