Wol*_*mec 9 javascript web-applications requirejs
在我以前的Web应用程序中,当用户从一个"页面"(没有页面重新加载,只是一个新的div)转换到另一个时,我只是隐藏了一个div以供以后使用,并创建了+显示了新的.当用户从地址管理返回到事件管理时,我只需要隐藏当前的div并重新显示已经使用过的div.当然,这需要记忆,但速度更快.
在我的新Web应用程序中,我使用Backbone.js,Require.js和jQuery.我的所有模块都是AMD(jquery 1.7.1,backbone.js 0.5.3-optamd3,...).
在阅读了Derick Bailey的有趣博客(http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/)后,我现在清理我的div,然后转换到一个新的"页面",并在用户返回时重新创建它.
同样,关于requirejs amd模块,我曾经有一个速度超过内存策略:我的Web应用程序导航的核心是我唯一的路由器对象.如果用户第一次选择"页面"/功能,我会为它及其所有依赖项加载amd模块(它是一个backbone.js视图对象)并使用require命令并存储此结果视图对象(及其模型对象) )以供稍后在路由器对象中的数组中使用.当用户返回时,我获取存储的视图对象并重新渲染视图.
我想我也会从这种行为切换到总是重新加载模块(从缓存),但我不确定.
为了更好的方式,我希望得到更好的理解,并想问2个问题:
继续今天我在stackoverflow上找到了一个类似的问题(http://stackoverflow.com/questions/7866971/how-does-amd-specifically-requirejs-handle-dependancies-across-multiple-module).答案是:"它只会被加载一次,上述两个模块都将获得相同的模块值 ......".
因此,似乎存储已经加载的+执行的amd模块的结果以供以后使用并不是那么糟糕.
沃尔夫冈
缓存所有内容(可能会多次使用)。(写入 Canvas/ImageData)。内存中应该只有 1 个框架副本。如果您担心还有更多,请重写它以强制所有 AMD 使用单一源 Backbone。
记忆就是速度。
如果你想要更好的速度:
归档时间: |
|
查看次数: |
391 次 |
最近记录: |