在html代码中加载dojo库

时间:2013-11-22 23:29:09

标签: javascript dojo amd

我有使用dojo 1.9.1的代码,如下所示,

<html>
<head>
//some script1
//some script2
//some script3
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js"></script>

</head>
<body>
//some html code
</body>
</html>

我们在script1中使用dojo ready模块,

require(['dojo/ready'){
ready(function(){
    //init function xyz 
});

如果我们使用上述格式,一切正常。但每当我在script1上面移动dojo.js时, 例如。

<head>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js"></script>
//some script1
//some script2
//some script3
</head>

我开始在某些脚本中遇到错误(比如script2)(某些函数未定义)。有什么模式我应该遵循吗?

1 个答案:

答案 0 :(得分:0)

我不确定这是否能解释特定问题,但您的语法错误很大。

require(['dojo/ready'){
ready(function(){
    //init function xyz 
});

应该是

require(['dojo/ready'],function(ready){
  ready(function(){
      //init function xyz 
  });
});

这是因为require需要2个参数 - 首先是所需模块的数组。第二个是一个函数(在这种情况下是匿名的),它将这些模块作为参数(这是它们被赋予变量名称以供在其中使用。在匿名函数内部是您定义就绪事件动作的地方。