我对Dojo真的很陌生,所以这可能听起来很愚蠢。
我使用Dojo 1.7作为托管资源(也就是说,我下载了dojo包并将其放在源代码下)。然后我在另一个文件夹中定义了一个自定义模块。结构如下所示:
/
libs/
js/
dojo/
dojo.js
myPage/
myModules/
myCustomizedModule.js
index.html
我正在使用"定义"用于在myPage / myModules / myCustomizedModule.js中定义模块的函数
在" myPage"文件夹,我使用index.html来要求自定义模块:
<script>
require(["myPage/myModules/myCustomizedModule"], function(myCustomizedModule){
// Do something.
})
</script>
但是,我无法让它工作:控制台报告错误: &#34; http://localhost/myDojoTest/libs/js/dojo/myPage/MyModules/myCustomizedModule.js 404(未找到)&#34;。
我知道这个目录不对,因为&#34; myPage&#34;文件夹不在&#34; libs / js / dojo&#34;下。但似乎在使用&#34;要求&#34;语句,而不是使用当前HTML文档的相对路径,代码使用dojo.js文件的当前路径。
我能做些什么来正确引用我的自定义模块吗?
非常感谢!
答案 0 :(得分:0)
根据您的要求,您需要设置包,如下所示
<!-- 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>
您可以在require
函数调用中访问dojo,dijit和myModules。
请记住您需要 模块及其各自的软件包。
<script>
require([
//Require resources.
"dojo/store/Memory",
"myModules/myCustomizedModule"
], function(Memory, myCustomizedModule){
....
}
);
</script>
希望它有所帮助。