2011-11-27 61 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

非常好!謝謝 –