【问题标题】:Dojo browser performance, in terms of loading module filesDojo 浏览器性能,在加载模块文件方面
【发布时间】:2012-08-02 00:31:17
【问题描述】:

Dojo 的按需加载结构实际上是一种性能改进吗?至少对我来说?

我公司的网站将切换到主要使用 Dojo 的 IBM Websphere。我的公司非常关心页面性能,主要是在“页面加载秒数”方面。因此,我们得到的指令是“尽量减少对服务器的点击”,因此在我们当前的网站上,我们在推广到生产之前汇总了所有 .js 文件。

但该指令现在基本上正在成为法律,所以如果我要反对它,我需要一个很好的理由。除了“这是个好主意”和“仅在需要时加载”(后者实际上仅基于前者,至于我知道)。

然后,如果我要将所有内容压缩到一个文件中,我将根本无法使用 dojo.require() 语句,对吗? (想法是,如果我可以将开发方面按模块拆分以使组织更合理,然后将生产版本放在一个文件中,但是 dojo.require() 在那里不再有意义,然后我就有了一个越来越复杂的情况,我需要构建对 javascript 做一些侵入性的事情来打包生产。)

请拒绝“视情况而定”的答案。我见过的最佳实践文档(雅虎、谷歌等)几乎只是说“减少页面加载”,并没有太多“它取决于”。但是 Dojo 的框架似乎对它的方法如此明确,我想知道是否有更有说服力的论据。

【问题讨论】:

    标签: performance dojo


    【解决方案1】:

    Dojo 实际上结合了这两种方法。在开发模式下,您有许多文件使用definedojo.require 已过时)来动态加载其他模块。这对于抽象和开发非常有用。

    然后是“生产模式”,您可以使用 dojo 构建系统将所有这些小文件编译成一个或多个(也称为层)缩小的 Javascript 文件。这减少了对服务器的访问,同时仍保持所有模块化。使用分层方法,以后需要的应用程序数据将自动从单独的文件中加载。

    见: http://dojotoolkit.org/blog/learn-more-about-amd

    http://dojotoolkit.org/reference-guide/1.7/build/

    【讨论】:

    • 嗯,是的,我们使用的是 Dojo 1.5(是的,我知道,新网站,我的公司享受计划中的过时),但我看到该页面有一个指向 1.7 之前的构建过程的链接.好的,我得开始调查了,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    相关资源
    最近更新 更多