[英]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.