我刚刚开始学习Dojo。我遵循一个站点 Widget 示例,使用一些不同的方法来加载 Dojo 库。我喜欢使用 AOL 引用来加载 dojo.js,如下所示:
<script type="text/javascript"
src="http://o.aolcdn.com/dojo/1.2.0/dojo/dojo.xd.js">
</script>
并将我的小部件代码保存在本地网络服务器中,如下所示:
scripts/
myWidget/
widgetExample.js
...
test.html
其中widgetExample.js包含我的小部件类代码,test.html是我的测试页面。我收到的错误消息是:“未捕获的异常:无法加载跨域资源:myWidget.widgetExample ...”。我不确定是否必须在本地加载 dojo 包?我真的很喜欢分离 dojo 库包,因为它们是从 AOL 加载的,并且只将我自己的代码放在本地路径中。我试图用谷歌搜索不同的域加载、baseScriptUrl 和 moduleMapping?还是想不通。感谢您提供任何详细说明(如果有)。
最佳答案
总结是:您需要一个 djConfig 项来注册您想要本地化的 modulePaths,并指定一个 baseUrl 来“欺骗”Dojo,让它认为它知道这些路径在主机之间的相对位置。
djConfig = { modulePaths: { "mine":"/js/mine"};
然后你可以从/js/mine/Thing.js 执行 dojo.require("mine.Thing")
问候, 彼得·希金斯
关于dojo - 从 AOL 加载 Dojo 库并从本地加载 Widget 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/308036/