2013-11-22 73 views
0

我有一個使用道場1.9.1,它看起來像下面的代碼,加載Dojo庫

<html> 
<head> 
//some script1 
//some script2 
//some script3 
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js"></script> 

</head> 
<body> 
//some html code 
</body> 
</html> 

我們正在使用的道場準備模塊內部SCRIPT1爲,

require(['dojo/ready'){ 
ready(function(){ 
    //init function xyz 
}); 

如果我們使用上述格式,一切正常。但是每當我將dojo.js移動到script1以上時,例如 。

<head> 
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js"></script> 
//some script1 
//some script2 
//some script3 
</head> 

我開始在某些腳本(如腳本2)(某些函數未定義)中出現錯誤。我應該遵循什麼樣的模式?

回答

0

我不確定這是否解釋了特定的問題,但是您有一個巨大的語法錯誤。

require(['dojo/ready'){ 
ready(function(){ 
    //init function xyz 
}); 

應改爲

require(['dojo/ready'],function(ready){ 
    ready(function(){ 
     //init function xyz 
    }); 
}); 

這是因爲需要花費2個參數 - 首先是需要的模塊的陣列。第二個是以這些模塊爲參數的函數(在這種情況下是匿名函數)(這是在其中給它們賦予變量名稱的地方)。在該匿名函數的內部,您可以定義準備好的事件操作。

+0

另請參閱以下幫助我的文檔: http://dojotoolkit.org/reference-guide/1.9/loader/amd.html#loader-amd – Kolban