RequireJS与Dojo 1.7 AMD的比较

14

有点抽象的问题,但我很惊讶为什么还没有找到它:

现在 Dojo 在 1.7 版本中已经全面采用了 AMD。与 RequireJS、Lab、Head 等相比如何?

编辑:我意识到 Lab 和 Head 不是 AMD 加载程序。澄清一下:

我喜欢 Dojo 将其核心拆分成小型、简洁、单一目的的模块。(我认为这些模块现在可以与任何 AMD 加载器一起使用,尽管我还没有测试过)这使得 dojo.js 本身几乎只是一个 AMD 加载器。

因此问题是:作为 AMD 加载器,Dojo 的表现如何?无论是遵循规范的程度、速度、大小、效率等等方面。它似乎是一个非常热门的新产品,但我听到的消息却非常少。


很好的问题...我还没有看到性能数据。根据它们的各种优化工具进行比较也是很有趣的。顺便说一下,requirejs是@jrburke的作品,他是一个Dojo committer,在原始加载器和跨域模块加载方面做了一些出色的工作。AMD是Dojo的下一代加载器。根据我的经验,跨加载器兼容性还不太好。规范中可能需要解决一些问题,例如立即require()调用的行为以及插件模块处理的不一致性。 - peller
1个回答

9

有4个不同的东西。

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

如果您想知道AMD实现之间的区别或规范的一致性... 那是个好问题。 如果您想询问AMD实现与非AMD实现的利弊,那就需要一个不同的矩阵了。 可以在SO上找到这样的比较。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接