Skip to content

Commit 7cd3763

Browse files
committed
部署JavaScript 校对完毕
1 parent 78d1cf1 commit 7cd3763

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

chapter8.markdown

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -554,23 +554,23 @@ JSONP的请求URL通常是像这样:
554554

555555
## 部署JavaScript
556556

557-
在生产环境中使用JavaScript时,有不少性能方面的考虑我们来讨论一下最重要的一些。如果需要了解所有的细节,可以参见O'Reilly出社的《高性能网站建设指南》和《高性能网站建设进阶指南》。
557+
在生产环境中使用JavaScript时,有不少性能方面的考虑我们来讨论一下最重要的一些。如果需要了解所有的细节,可以参见O'Reilly出社的《高性能网站建设指南》和《高性能网站建设进阶指南》。
558558

559559
### 合并脚本
560560

561561
创建高性能网站的第一个原则就是尽量减少外部引用的组件(译注:这里指文件),因为HTTP请求的代价是比较大的。具体就JavaScript而言,可以通过合并外部脚本来显著提高页面加载速度。
562562

563-
我们假设你的页面正在使用jQuery库,这是一个.js文件。然后你使用了一些jQuery插件,这些插件也是单独的文件。这样的话在你还一行代码都没有写的时候就已经有了四五个文件了。把这些文件合并起来是很有意义的,尤其是其中的一些体积很小(2-3kb)时,这种情况下,HTTP协议中的开销会比下载本身还大。合并脚本的意思就是简单地创建一个新的js文件,然后把每个文件的内容粘贴进去。
563+
我们假设你的页面正在使用jQuery库,这是一个`.js`文件。然后你使用了一些jQuery插件,这些插件也是单独的文件。这样的话在你还一行代码都没有写的时候就已经有了四五个文件了。把这些文件合并起来是很有意义的,尤其是其中的一些体积很小(2-3kb)时,这种情况下,HTTP协议的开销会比下载本身还大。合并脚本的意思就是创建一个新的js文件,然后把每个文件的内容粘贴进去。
564564

565-
当然,合并的操作应该放在代码部署到生产环境之前,而不是在开发环境中,因为这会使调试变得困难
565+
当然,合并的操作应该放在代码部署到生产环境之前,而不是在开发环境中,否则会使调试变得困难
566566

567567
合并脚本的不便之处是:
568568

569-
- 在部署前多了一步操作,但这很容易使用命令行自动化工具来做,比如使用Linux/Unix的cat
569+
- 在部署前多了一步操作,但这很容易使用命令行自动化工具来做,比如使用Linux/Unix的`cat`
570570

571-
$ cat jquery.js jquery.quickselect.js jquery.limit.js > all.js
571+
$ cat jquery.js jquery.quickselect.js jquery.limit.js > all.js
572572
- 失去一些缓存上的便利——当你对某个文件做了一点小修改之后,会使得整个合并后的代码缓存失效。所以比较好的方法是为大的项目设定一个发布计划,或者是将代码合并为两个文件:一个包含可能会经常变更的代码,另一个包含那些不会轻易变更的“核心”。
573-
- 你需要处理合并后文件的命名或者是版本问题,比如使用一个时间戳all_20100426.js或者是使用文件内容的hash值
573+
- 你需要处理合并后文件的命名或者是版本问题,比如使用一个时间戳`all_20100426.js`或者是使用文件内容的hash值
574574

575575
这就是主要的不便之处,但它带来的好处却是远远大于这些麻烦的。
576576

@@ -580,19 +580,19 @@ JSONP的请求URL通常是像这样:
580580

581581
从用户的角度来想,完全没有必要下载代码中的注释,因为这些注释根本不影响代码运行。
582582

583-
压缩代码带来的好处多少取决于代码中注释和空白的数量,也取决于你使用的压缩工具。平均来说,压缩可以减少50%左右的体积。
583+
压缩代码能带来多少好处取决于代码中注释和空白的数量,也取决于你使用的压缩工具。平均来说,压缩可以减少50%左右的体积。
584584

585-
服务端脚本压缩也是应该要做的事情。配置启用gzip压缩是一个一次性的工作,能带来立杆见影的速度提升。即使你正在使用共享的空间,供应商并没有提供那么多服务器配置的空间,大部分的供应商也会允许使用.htaccess配置文件。所以可以将这些加入到站点根目录的.htaccess文件中
585+
服务端脚本压缩也是应该要做的事情。配置启用gzip压缩是一个一次性的工作,能带来立杆见影的速度提升。即使你正在使用共享的空间,供应商并没有提供那么多服务器配置的空间,大部分的供应商也会允许使用`.htaccess`配置文件。所以可以将这些加入到站点根目录的`.htaccess`文件中
586586

587587
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/javascript application/json
588588

589-
平均下来压缩会节省70%的文件体积。将代码压缩和服务端压缩合计起来,你可以期望你的用户只下载你写出来的未压缩文件体积的15%
589+
平均下来压缩会节省70%的文件体积。将代码压缩和服务端压缩合计起来,你的用户只需要下载你写出来的未压缩文件体积的15%左右
590590

591591
### 缓存头
592592

593-
与流行的观点相反,文件在浏览器缓存中的时间并没有那么久。你可以尽你自己的努力,通过使用Expires头来增加非首次访问时命中缓存的概率
593+
与比较流行的观点相反,其实文件在浏览器缓存中的时间并没有那么久。你可以通过使用Expires头来增加非首次访问时命中缓存的概率
594594

595-
这也是一个在.htaccess中做的一次性配置工作
595+
这也是一个在`.htaccess`中做的一次性配置工作
596596

597597
ExpiresActive On
598598
ExpiresByType application/x-javascript "access plus 10 years"

0 commit comments

Comments
 (0)