2012-10-30 390 views
0

我有2個模塊A和B.另外我有3個庫L1,L2和L3。RequireJS遞歸模塊加載

模塊A

define(
    ['L1', 'L2'], 
    function (L1, L2) { ... } 
); 

模塊B

define(
    ['A', 'L3'], 
    function (A, L3) { ... } 
); 

是我是正確的,模塊B已經在範圍L1和L2庫或我必須重新加入這些庫?

模塊B

define(
    ['A', 'L1', 'L2', 'L3'], 
    function (A, L1, L2, L3) { ... } 
); 
+0

這是爲什麼-1?我有同樣的問題 –

回答

2

如果你想使用Modulue B你必須明確地命名它們在你的定義的庫。

define(['A', 'L1', 'L2', 'L3'], function (A, L1, L2, L3) { 

    // ... 
}); 

如果你不想使用它們,這將是好的:

define(['A', 'L3'], function (A, L3) { 

    // L1 undefined here 
}); 
+1

你確定L1在這裏沒有定義嗎? – acelot

+1

是的,你可以用'A'沒有問題,它有它的來'L1'等自己的參考..但是'L1'會在你的'define'功能 – lrsjng

+0

評論的茉莉花海格曼範圍是不確定的:L1不確定的,儘管其可能的A可以提供訪問它的手段(其作爲A的依賴關係被加載,這是沿着L3的該腳本的依賴性)。 – StuartLC