2013-03-06 110 views
1

我正在使用requirejs我有幾個條件來啓動我的許多模塊和插件。 我想在用戶通過幾個條件後加載模塊和所需的插件。如何根據條件加載模塊?

使用案例:

最初加載屏幕進行驗證負荷後登錄 另一個模塊 上的所有條件 成功檢查幾個條件 我想加載所有的插件和其他模塊。

我如何獲得requirejs?

回答

4

這樣做的一種方法就是簡單地使用條件並在其中加載腳本。

例子:

define('foo', function(require) { 
    if (/* condition */) { 
     require(['module'], function (module) { 
      // the module stuff 
     }); 
    } 
}); 

你可以看到現場演示有條件在這個jsfiddle

加載jQuery的另外一起來看看:How to achieve lazy loading with RequireJS?

+0

這是行不通的,因爲requireJs尚未加載模塊呢。延遲加載的唯一方法是要求模塊具有回調函數,就像鏈接的SO中一樣。 – 2013-03-06 13:12:15

+0

@AndreasKöberle根據應該工作的文檔(查看我鏈接的頁面中的「設置導出的值」主題)。我甚至在閱讀你的評論時在我的機器上測試過它。 – 2013-03-06 13:49:06

+0

只有在模塊已加載的情況下才能使用。問題是關於稍後加載模塊。因此,即使您的解決方案正在工作,它仍在工作,因爲該模塊仍然被加載到初始有效負載中。 – 2013-03-06 13:53:43