如何加快dojo初始化?

时间:2013-07-05 08:21:11

标签: performance dojo amd dojo.gridx

如何加速富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的单个CSS?可能有工具吗?

1 个答案:

答案 0 :(得分:4)

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

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