2012-03-30 40 views
14

有点抽象的问题,但我很惊讶我没有找到它已经:RequireJS VS道场1.7 AMD

现在道场已经全部AMD与1.7,它是如何比较RequireJS,实验室,头等...

编辑:我意识到实验室和头不是AMD装载机。澄清:

我很喜欢Dojo如何将它的核心分解成小而简洁​​的单用途模块。 (我假设这些模块现在可以与任何AMD加载器一起工作,但我没有测试过)。这使得dojo.js本身几乎不只是AMD加载器。

所以问题是:作为一个AMD加载器,Dojo如何堆叠起来。就如何遵循规范,速度,规模,效率等等而言。这是一个看起来非常激烈的话题的新生,但我听到的意外情况很少。

+0

很好的问题...我还没有看到性能数据。根据各种优化工具对它们进行比较也很有趣。 FWIW,requirejs是@jrburke的工作,这是一个Dojo提交者,他在原始加载器和跨域模块加载方面做了一些出色的工作。 AMD是Dojo的下一代装载机。根据我的经验,交叉加载兼容性还不是很好。有些东西可能需要在规范中进行确定,例如immediate()调用的行为,还有插件模块的处理方式不一致。 – peller 2012-04-03 02:22:43

回答

9

4种不同的东西。

Dojo是一个工具包,已被转换为使用AMD并附带AMD加载器和优化工具的实现。 requirejs是一个加载程序,它也实现AMD并可以与各种工具包一起使用(Dojo支持仍然不足)。还有一些其他的AMD实现,如curl.js。 我不相信lab.jshead.js工具AMD

如果您问的AMD实现方式如何不同或规格如何一致......这个绝佳的问题。如果您询问AMD实施与非AMD实施的优缺点,则需要不同的矩阵。 One such comparison可以在SO上找到。