javascript dojo工具包在应用程序中使用全局对象

javascript dojo工具包在应用程序中使用全局对象,javascript,dojo,Javascript,Dojo,我有一个像GoogleMapsAPI这样的映射应用程序。在这个应用程序中,我创建了不同的模块。我的大多数模块都使用一个映射对象,该对象在应用程序中是basemap 例如: 模块1 define(["dojo/_base/declare"], function(declare){ return declare(null, { constructor: function(){ //..... use map ..... } }); }); 模块2 模块3

我有一个像GoogleMapsAPI这样的映射应用程序。在这个应用程序中,我创建了不同的模块。我的大多数模块都使用一个映射对象,该对象在应用程序中是basemap

例如:

模块1

define(["dojo/_base/declare"], function(declare){
  return declare(null, {
    constructor: function(){
         //..... use map .....
    }
  });
});
模块2

模块3

..

和主应用程序启动

require(["dojo/ready", "my/module1"], function(ready, fx){
     ready(function(){
           var map = new MyMap(); // this will use in other modules
     });
});
我可以在module3中调用module2,也可以在module4中调用module3,但其中大多数都使用在主模块中创建的map对象


我正在将map对象传递给构造函数级别的模块。在dojo或javascript中有没有一种实用的方法来处理这些问题?

这是一种实用的方法。我的意思是,这是用任何语言都可以做到的,不仅仅是用Dojo。如果一个对象需要另一个对象,可以将其添加为属性/字段并进行设置

您唯一能做的就是将
new MyMap()
代码移动到一个单独的模块中,并将该模块加载到模块1、模块2、模块3等中。这样,主应用程序就不需要提供依赖项