Dojo tlmSiblingOfDojo无法正常工作,路径不是相对的

时间:2012-09-21 21:51:22

标签: javascript dojo path require

大家好,感谢您的帮助!

我无法让Dojo需要查找baseUrl的相对路径。我的tManager / pageList.js对象的请求路径要求是“/tManager/pageList.js”,它们应该是“js / tManager / pageList.js”。当我将“js /”添加到require路径时,它的工作正常,但我真的希望这些都是相对的。这是我的代码。

<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 \

再次感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

假设您的tManager/pageList.js是一个AMD模块,请在.js中删除require扩展名。否则,您正在执行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");
    });
});