我刚开始学习Dojo。我按照一个站点Widget示例,使用一些不同的方法来加载Dojo库。我喜欢使用AOL引用加载dojo.js,如下所示:
<script type="text/javascript"
src="http://o.aolcdn.com/dojo/1.2.0/dojo/dojo.xd.js">
</script>
并将我的小部件代码保存在本地Web服务器中,如下所示:
scripts/
myWidget/
widgetExample.js
...
test.html
其中 widgetExample.js 包含我的窗口小部件类代码, test.html 是我的测试页面。我收到的错误消息是:“未捕获的异常:无法加载跨域资源: myWidget.widgetExample ...”。我不确定是否必须在本地加载dojo包?我真的很喜欢将dojo库包分开,或者从AOL加载,只将我自己的代码放在本地路径中。我试图谷歌关于不同的域加载,baseScriptUrl和moduleMapping?仍然无法搞清楚。感谢您提供任何详细说明。
答案 0 :(得分:3)
摘要是:你需要一个djConfig项来注册你想要的本地modulePaths,并指定一个baseUrl来“欺骗”Dojo,让它认为它知道这些路径在主机之间的相对位置。
djConfig = {modulePaths:{“mine”:“/ js / mine”};
然后你可以从/js/mine/Thing.js中获取dojo.require(“mine.Thing”)
此致 彼得希金斯