2014-01-18 15 views
0

假設有三個模塊:M1平方米立方米RequireJS:可以使用要求()而不是限定()

英里(I = 1..3)是空模塊:

define(function() { 
    return this; 
}) 

而且存在附加的模塊useAll取決於M1平方米,m3模塊。

是什麼useAll模塊的兩個實施方式之間的區別:)

  1. 上取決於useAll提及的定義的所有模塊(

    定義([ 'M1','平方米 ','m3'],function(){...})

  2. require()函數中提到的模塊

    define(function(){('''m1']); 要求(['m2']); require(['m3']); ... })

是否與腳本加載時間和順序的任何問題?

回答

3
  1. 的diferrence是,在您 requirer.js嵌套的依賴和 默認情況下,他們將不會包含在優化過程中, 處理第二個執行,除非你指定:

    findNestedDependencies : true

    來自文檔:

    在require()或define調用中查找require()依賴關係。通過 默認這個值是錯誤的,因爲這些資源應該是 被認爲是動態/運行時調用。但是,對於某些優化方案,最好將它們包含在構建中。

  2. 另一個區別是,第二個實現也可以加載CommonJs模塊。

  3. 如果您使用require來定義您的模塊,則不能因執行而返回任何值。這意味着,你不能使用這個模塊作爲真正的依賴於另一個模塊

+0

謝謝你的回答。 – pryabov

相關問題