单击按钮时加载所需的dojo文件

时间:2015-06-07 07:25:12

标签: dojo

我正在开发的应用程序正在加载与应用程序相关的1200个dojo文件,因为此页面需要1分钟才能加载,现在我想减少其加载时间。

我在开始点不需要的所有1200个文件,但在点击按钮时需要它们。任何人都可以建议我在单击按钮时加载dojo文件,而不是在开始时一次加载每个文件。

先谢谢你寻求帮助。

1 个答案:

答案 0 :(得分:1)

如果您要加载1200个文件,您应该查看Dojo Build System,这样可以减少加载的文件数量。

无论如何,如果要在单击按钮时加载文件,那么您是否在事件处理程序中移动加载模块(require())的代码?例如:

require(["dojo/dom", "dojo/on", "dojo/domReady!"], function(dom, on) {
  on(dom.byId("myId"), "click", function() {
    require(["module1", "module2"], function(module1, module2) {
      // Do stuff
    });
  });
});

Dojo只会加载模块一次并在每次请求时返回相同的实例,因此没有其他网络请求以这种方式执行。

但是无论如何,如果您正在加载1200个文件,那么您遇到了问题,而不是看着如何懒洋洋地加载这些1200个文件,您应该尝试找出它为什么要加载1200个文件并最终删除一些依赖项