加载定制的 Dojo 模块
Load customized Dojo module
我是 Dojo 的新手,所以这听起来可能很愚蠢。
我正在使用Dojo 1.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>
但是,我无法让它工作:控制台报错:
“http://localhost/myDojoTest/libs/js/dojo/myPage/MyModules/myCustomizedModule.js 404(未找到)”。
我知道这个目录不对,因为 "myPage" 文件夹不在 "libs/js/dojo" 下。但是似乎在使用 "require" 语句时,代码没有使用当前 HTML 文档的相对路径,而是使用 dojo.js 文件的当前路径。
我能做些什么来正确引用我的自定义模块吗?
非常感谢!
根据您的要求,您需要如下所示设置包
<!-- 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>
希望对您有所帮助。
我是 Dojo 的新手,所以这听起来可能很愚蠢。
我正在使用Dojo 1.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>
但是,我无法让它工作:控制台报错: “http://localhost/myDojoTest/libs/js/dojo/myPage/MyModules/myCustomizedModule.js 404(未找到)”。
我知道这个目录不对,因为 "myPage" 文件夹不在 "libs/js/dojo" 下。但是似乎在使用 "require" 语句时,代码没有使用当前 HTML 文档的相对路径,而是使用 dojo.js 文件的当前路径。
我能做些什么来正确引用我的自定义模块吗?
非常感谢!
根据您的要求,您需要如下所示设置包
<!-- 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>
希望对您有所帮助。