2012-02-07 56 views
2

是否有一個工具或require.js函數我可以用來確定我的模塊/傳統腳本的讀取和加載順序?require.js讀取/加載命令調試

例如,

a.js:

define(['b', 'c'], function(b,c){}); 

b.js:

define(['d'], function(d){}); 

,然後在出現

require(['a'], function(a){}); 

我的假設一個main.js這裏是:

  1. a.js將被取出的第一
  2. b.js和c.js將獲取第二
  3. d.js將被取出最後

和模塊將在被加載d→b→c→a的順序。或者,也許,d和c在同一時間(因爲c沒有像d那樣的依賴)然後b和最後a。

但是,我從來沒有100%肯定我的假設是正確的。我可以刷新頁面100次,並確認我沒有錯誤,但我仍然妄想第101次嘗試會中斷。

AMD模塊開發人員,您如何調試?

回答

1

爲了更好地控制模塊的抓取順序,有order plugin

您還可以在Chrome/Firebug等中打開網絡控制檯以查看發生的提取。

但是,你的例子是一個相當簡單的一個應該沒有問題,無論是在101 ST反覆或者1001 ST。我沒有看到任何需要關注或需要調試的東西。

+0

訂單插件的文檔聲明,對於使用define()的模塊來說,它不應該是必需的,但有些情況下,我在define數組中使用傳統腳本。例如define(['b','c','e.js','f.js'] ...)。順序是否仍適用於這些傳統腳本?從我的有限測試中,它似乎沒有任何影響,這意味着e.js和f.js的編碼順序不會被保留。有什麼想法嗎?謝謝! – 2012-02-07 18:43:32

+0

由於常規腳本不使用'define',它可以用作「回調」來告訴RequireJS一個模塊實際上被加載,所以RequireJS可能沒有直接的方法來告訴何時加載一個常規腳本(雖然我不知道它是否使用'