簡體   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