我正在尝试使用Eclipse Juno 64bit作为开发环境在本地Tomcat(7.0)服务器上运行我的dojo项目。
我昨天遇到了一个问题,关于dojo如何假设文件存储在源树中的位置。
以下是显示问题的firebug日志:
304 Not Modified 23ms dojo.js (Line 295)
GET http://localhost:8080/src/dojo-18/dojo/parser.js
304 Not Modified 46ms dojo.js (Line 295)
GET http://localhost:8080/src/dojo-18/dojo/util.js
404 Not Found 24ms dojo.js (Line 295)
"NetworkError: 404 Not Found - http://localhost:8080/src/dojo-18/dojo/util.js"
前两个路径(以及它们之前很多)正确加载,现在第三个路径不正确,基本dojo文件夹中没有util.js,我不知道为什么dojo会看到那里。
为了解决这个问题,我尝试使用baseUrl属性
更好地描述路径<script>
dojoConfig = {
isDebug: true,
parseOnLoad: false,
baseUrl: './src/dojo-18/',
};
</script>
dojo.js的引用方式如下:
<script src="./src/dojo-18/dojo/dojo.js"></script>
答案 0 :(得分:0)
Dojo本身并不寻找util.js
,如果它正在这样做,你自己导入了一个名为 util 的模块,例如:
require([ "dojo/util" ], function(util) {
// This will not work because the util module does not exist
});
如果要引用自定义模块,则必须先使用dojoConfig
配置包:
<script>
dojoConfig = {
isDebug: true,
parseOnLoad: false,
baseUrl: './src/dojo-18/',
packages: [{
name: 'custom',
location: '/path/to/custom'
}]
};
</script>
然后您可以使用以下方法引用该包中的模块:
require([ "custom/util" ], function(util) {
// This will load the custom util module
});
在这种情况下,Dojo AMD加载器将在util.js
文件夹中查找/path/to/custom
,因此它将成为:
/path/to/custom/util.js