Module 加载定制的Dojo模块

Module 加载定制的Dojo模块,module,dojo,require,Module,Dojo,Require,我对Dojo真的很陌生,所以这听起来可能很愚蠢 我使用Dojo1.7作为托管资源(也就是说,我下载了Dojo包并将其放在源代码下)。然后我在另一个文件夹中定义了一个自定义模块。结构如下所示: / libs/ js/ dojo/ dojo.js myPage/ myModules/ myCustomizedModule.js index.html 我正在使用“define”函数在myPage/myModules/myCust

我对Dojo真的很陌生,所以这听起来可能很愚蠢

我使用Dojo1.7作为托管资源(也就是说,我下载了Dojo包并将其放在源代码下)。然后我在另一个文件夹中定义了一个自定义模块。结构如下所示:

/
  libs/
    js/
      dojo/
        dojo.js
  myPage/
    myModules/
      myCustomizedModule.js
    index.html
我正在使用“define”函数在myPage/myModules/myCustomizedModule.js中定义一个模块

在“myPage”文件夹中,我使用index.html要求自定义模块:

<script>
   require(["myPage/myModules/myCustomizedModule"], function(myCustomizedModule){
     // Do something.
   })
</script>

需要([“myPage/myModules/myCustomizedModule”],函数(myCustomizedModule){
//做点什么。
})
但是,我无法使其工作:控制台报告了一个错误: “404(未找到)”

我知道这个目录不正确,因为“myPage”文件夹不在“libs/js/dojo”下。但是当使用“require”语句时,代码似乎使用dojo.js文件的当前路径,而不是使用当前HTML文档的相对路径

我能做些什么来正确引用我的定制模块吗


非常感谢

根据您的要求,您需要按如下所示设置软件包

<!-- dojo configuration options -->
<!-- For Package configuration refer tutorial at     http://dojotoolkit.org/documentation/tutorials/1.7/modules/ -->
<script type="text/javascript">
        var dojoConfig = {
            async: true,
            baseUrl: "/",
            tlmSiblingOfDojo: false,
            packages: [
                { name: "dojo",  location: "libs/js/dojo" },
                { name: "dijit", location: "libs/js/dijit" },
                { name: "dojox", location: "libs/js/dojox" },
                { name: "myModules", location: "myPage/myModules" }
            ]
        };
    </script>

希望有帮助。

是的!我只是通过研究才弄明白!和你的答案一样:)谢谢@埃里克:如果你觉得答案有用,请考虑接受或投票:
<script>
        require([
            //Require resources.
            "dojo/store/Memory",
            "myModules/myCustomizedModule"
        ], function(Memory, myCustomizedModule){
           ....
        }
        );
</script>