我正在使用Dojo 1.9.1和RequireJS
我使用此代码实现了它:
<script src="require.js"></script>
<script type="text/javascript">
requirejs.config({
baseUrl: location.pathname.replace(/\/[^/]+$/, '') + '/js/', // magic!
packages: [
{
name: 'dojo',
location: "http://ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/"
}
]
});
</script>
... ..
<script>
require(["dojo/domReady!"], function() {
......
});
</script>
它会抛出一些关于has.js无法正常工作的例外
Uncaught TypeError: Object function (){} has no method 'add' has.js:8
Uncaught Error: Load timeout for modules: dojo/domReady!_unnormalized2
是否有人有解释或有关如何解决它的想法?
答案 0 :(得分:4)
假设您正在使用Dojo加载程序以减少代码大小,构建了Dojo的CDN版本。部分代码删除是替代的has.js实现,如果加载器不包含一个(如RequireJS),则使用该实现。您可以使用常规下载的Dojo和RequireJS版本,它可以正常工作,但您无法使用CDN版本。