2012-09-21 49 views
2

大家好,感謝您的幫助!Dojo tlmSiblingOfDojo不工作,路徑不是相對的

我無法讓Dojo需要尋找相對於baseUrl的路徑。請求路徑對於我的tManager/pageList.js對象來說,當它們應該是「js/tManager/pageList.js」時,它們始終是「/tManager/pageList.js」。當我在需求路徑中添加「js /」時它工作得很好,但我真的很喜歡這些都是相對的。這是我的代碼。

<script type="text/javascript"> 
var dojoConfig = { 
    baseUrl: "js/", 
    isDebug: true, 
    tlmSiblingOfDojo: false, 
    async: false, 
    packages: [ 
     { name: "dojo", location: "lib/dojo" }, 
     { name: "dijit", location: "lib/dijit" }, 
     { name: "dojox", location: "lib/dojox" }, 
     { name: "tManager", location: "tManager/" } 
    ] 
}; 
</script> 
<script type="text/javascript" src="js/lib/dojo/dojo.js"></script> 
<script type="text/javascript"> 
require([ 
    "dojo/dom", 
    "dojo/ready", 
    "tManager/pageList.js" 
], function (dom, ready, pageList) { 
    ready(function() { 
     alert("hello world"); 
    }); 
}); 
</script> 

這裏是我的文件夾結構:
\
\ JS \
\ JS \ LIB \
\ JS \ LIB \道場\
\ JS \ LIB \的dijit \
\ JS \ lib \ dojox \
\ js \ tManager \

再次感謝提前的幫助!

回答

3

假設您的tManager/pageList.js是AMD模塊,在require中刪除.js擴展名。否則,您正在執行generic script injection而不是加載模塊。

require([ 
    "dojo/dom", 
    "dojo/ready", 
    "tManager/pageList" // <= do not use .js extension for AMD modules 
], function (dom, ready, pageList) { 
    ready(function() { 
     alert("hello world"); 
    }); 
}); 
+0

是的,就是這樣。謝謝! – busbina