2011-11-27 77 views

回答

6
  • jQuery 1.7支持。
  • MooTools 2.0即将推出。
  • 道场1.7载体(但具有某些模块的冲突,像text模块)
  • ExtJS 4不支持RequireJS但它模块有一个内置的延迟加载溶液。

您可以从任何您想要的框架添加对模块的支持。如果框架不支持RequireJS,则可以创建一个包装文件来加载框架。

Zepto封装文件为例:

define(['lib/zepto'], function() { 
    require(['lib/zepto']); 
    return this.Zepto; 
}); 

在您的应用程序定义路由在包装文件Zepto,让它加载库。

主程序文件为例:

require({paths: { 'zepto': 'wrapper/zepto' } }); 

所以,你的应用程序文件结构是这样的:

main.js 
lib/zepto.js 
wrapper/zepto.js 

因此,任何框架,能够支持RequireJS,但你需要编写一些包装不支持AMD加载器的模块。

编辑09/07/2012:

的RequireJS 2 +有一个名为shim,使可以使用任何基于浏览器的框架,它的新功能。

而使服务器端非AMD包装的新功能需要CommonJS模式的建议。

+1

请注意,我不想加载整个库,这可以在每个框架中完成。我想加载框架的特定组件,但不是整体,我认为该框架应该提供AMD支持...... –

+0

当框架没有像zepto这样的支持时,包装是有用的。 Zepto是一个框架,但是,您可以申请几乎任何特定组件。我使用包装器加载Backbone和Underscore作为它的组件。两者都不支持AMD。 –

+0

假设你只想从Zepto加载AJAX模块,你如何为它做一个包装?它会在没有加载整个框架的情况下工作吗? –

1

MooTools 2.0会检查Github上MooTools回购下的分支。

+0

MooTools 2.0仍在制造(工作正在进行中)。我需要一个稳定的版本。 –

+2

更新:MooTools Core将在1.5版本中打包到符合AMD标准的模块中,即大约需要1个月;) – csuwldcat

+0

非常好!谢谢 –

相关问题