【问题标题】:How to speed up dojo initialization?如何加快dojo初始化?
【发布时间】:2013-07-05 08:21:11
【问题描述】:

如何加快富dojo页面的初始化,需要的模块很多?

我正在制作一个 Dojo 1.9 启动应用程序,此时它只有 GridX,没有任何额外的 dijit wigdets(最终应用程序还将有一个过滤器构建使用 dijit 小部件)。

初始化需要 259 个请求,在激活 FireBug 网络日志记录的情况下需要 1.79 秒。没有萤火虫,它需要快一点,但无论如何,请求的数量是巨大的。

当我为 dojo 模块激活不带must-revalidate 的缓存时,它会快一点(至少它不会杀死服务器),但仍然需要大约一秒钟。尽管缓存处于活动状态,但还是有一些向服务器发出的请求 - 它们是 HTML 模板的 GET(例如 gridx/templates/Grid.html)。

我的问题是,是否有可能以某种方式加速初始化?例如,是否可以将我的起始页使用的所有模块合并为一个,并说 AMD 加载程序不向它们发出请求?或者至少将 CSS 合并到更大的 CSS 中,例如 GridX 的单个?可能有工具吗?

【问题讨论】:

    标签: performance dojo amd dojo.gridx


    【解决方案1】:

    是的,你可以调整一些东西。例如,您可以使用以下链接创建自定义构建:http://dojotoolkit.org/documentation/tutorials/1.9/build/。我不确定这是否会有很大帮助(没有完全遵循它),但还有一个 Web 工具允许您创建自定义构建并将它们压缩到单个 JS 文件中(据我的一位同事说)。试试Dojo web builder,我想它可能会对你有很大帮助。

    我不确定您是否已经这样做了,但是您是否在 dojoConfig 中定义了async: true?我不确定它是否会有所帮助,但您可以随时尝试。

    【讨论】:

    • 是的,我正在回答,但上面的回答正是您需要做的。你基本上需要你自己的构建。这是一个高级 Dojo 主题,但非常值得自学。
    • Dojo web builder 链接已失效。就像道场本身一样。
    猜你喜欢
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多