【问题标题】:Running Dojo on RequireJS在 RequireJS 上运行 Dojo
【发布时间】:2013-10-13 08:20:05
【问题描述】:

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

有没有人解释一下,或者有解决方法的想法?

【问题讨论】:

  • 你有什么理由同时使用Dojo和RequireJS,而不是简单地使用Dojo的requiredefine
  • 我有一个使用 requirejs 的现有主干应用程序,我想集成 ArcGis Map(javascript API 与 Dojo developers.arcgis.com/en/javascript/jstutorials 一起使用)

标签: dojo requirejs


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-07-02
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多