2

我正在使用 require.js 构建一个应用程序。对于某些部分,我还需要加载使用 require.js 构建的 3rd-Party 脚本(它全部被缩小并使用 almond.js 构建到单个文件中)。

为此,我注入脚本标签,如:

var script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.onload = function(){
    // remote widget script has loaded
    scriptDfd.resolve();
};
script.src = endpoints.widgetScript + '?appKey=' + auth.userAppKey + '&dev=1';
document.getElementsByTagName('head')[0].appendChild(script);

该脚本可以正常注入并且可以正常工作,但是从那时起,我就不能再使用自己定义的模块映射main.js了。

当我尝试访问我的模块时引发的错误Uncaught TypeError: Cannot read property 'splice' of undefined听起来像是它无法再找到该模块(在我注入第 3 方脚本之前很容易访问)。

有什么可行的解决方法吗?

4

1 回答 1

0

因此,正如评论中所建议的那样,我联系了外部脚本的供应商(实际上只是对另一个内部产品的 dogfooding 进行 dogfooding),他们在运行r.js构建脚本时使用了自定义命名空间,如此所述。

这会创建两个单独的 require.js,它们可以进行不同的配置。

于 2013-10-22T19:49:09.430 回答