3

我正在使用 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

有没有人有解释,或者关于如何解决它的想法?

4

1 回答 1

4

Dojo 的 CDN 版本是在假设您使用 Dojo 加载程序以减少代码大小的情况下构建的。部分代码删除是替代的 has.js 实现,如果加载器不包含一个(如 RequireJS),则使用该实现。您可以将常规下载的 Dojo 版本与 RequireJS 一起使用,它可以正常工作,但您不能使用 CDN 版本。

于 2013-10-14T02:34:08.453 回答