我正在比较以下两个TodoMVC示例的渲染速度:
骨干 - 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)
Backbone + 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()
,但是渲染完成页面所需的总时间实际上会变得更长?
答案 0 :(得分:1)
你的解释是正确的。
但是,值得注意的是,在给定的示例中,r.js
optimizer尚未在代码上运行,因此每个单独的模块都是单独加载的,因此在这种情况下确实具有该效果。但是,如果他们 使用应用程序的优化版本,则所有依赖项都将编译为一个文件(除非另有说明),该示例仅加载四个文件(五,如果观众使用的IE版本低于版本10)。我无法肯定地说会有多少会影响加载时间和DOMContentLoaded
,但我的猜测会降低两者的时间。