4

我正在比较以下两个 TodoMVC 示例的渲染速度:

  1. 骨干网 - http://addyosmani.github.com/todomvc/architecture-examples/backbone/

    -> (on 1st loading) 14 requests  ❘  62.19KB transferred  ❘  2.01s (onload: 2.10s, DOMContentLoaded: 2.10s)
    
    -> (on cache loading) 14 requests  ❘  0B transferred  ❘  176ms (onload: 177ms, DOMContentLoaded: 175ms)
    
  2. 骨干 + RequireJS - http://addyosmani.github.com/todomvc/dependency-examples/backbone_require/

    -> (on 1st loading) 19 requests  ❘  73.95KB transferred  ❘  2.57s (onload: 2.57s, DOMContentLoaded: 1.14s)
    
    -> (on cache loading) 19 requests  ❘  0B transferred  ❘  224ms (onload: 244ms, DOMContentLoaded: 87ms)
    

我是否可以这样解释,即使用 RequireJS 会$(document).ready()尽可能早地被触发,但是页面完成渲染所需的总时间实际上会变得更长?

4

1 回答 1

1

你的解释是正确的。

但是,值得注意的是,在给定的示例中,r.js优化器并未在代码上运行,因此每个单独的模块都是单独加载的,因此在这种情况下确实具有这种效果。但是,如果他们使用的是应用程序的优化版本,所有依赖项都将被编译到一个文件中(除非另有说明),并且该示例将仅加载四个文件(如果查看器使用的 IE 版本低于 10 )。我不能确定这会对加载时间和 产生多大影响DOMContentLoaded,但我的猜测是这会降低他们俩的时间。

于 2012-08-23T03:21:07.610 回答