繁体   English   中英

如何防止外部脚本覆盖我的main.js配置

[英]How can I prevent an external script from overriding my main.js configuration

我正在使用require.js构建应用程序。 对于某个部分,我需要加载一个也使用require.js构建的第三方脚本(所有脚本都已缩小,并使用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这听起来好像它不再能够找到该模块(在注入第三者脚本之前可以轻松访问)。

有没有可行的解决方法?

所以,在意见建议我联系了外部脚本的供应商(即实际上只是内部测试的另一个内部产品的内部测试),并在运行时使用的是自定义空间r.js描述构建脚本这里

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM