0

我正在开发一个 JavaScript 项目,我们使用 requirejs 来管理我们的代码。我们创建的产品将在 3rd 方网站上使用,因此我们不能假设存在 AMD 兼容库。为了解决这个问题,我们将almond包含在目标文件中,并将我们的主模块暴露在window. 我们的构建创建的文件如下所示:

(function() {
    //Almond lib

    //Our code

   define('window-exposer', ['main-module'], function(mainModule) {
       window.mainModule = mainModule;
   });

   require('window-exposer');
}());

当构建一个想要使用的站点时,mainModule会抛出一个错误,因为当站点特定代码尝试访问window.mainModule它时尚未设置。在某些情况下,模块确实已经初始化并且代码可以正常工作。

有什么方法可以保证window-exposer在其他 JavascriptCode 之前运行?

4

1 回答 1

0

我使用此处提供的解决方案解决了它https://github.com/jrburke/almond#exporting-a-public-api

于 2013-12-27T10:06:39.187 回答