ES6应用程序中第三方javascript未被捕获的引用错误

时间:2016-12-08 14:10:12

标签: javascript ecmascript-6

我正在ES6中迁移我的reactjs应用程序。它使用了一些外部javascript,它以旧方式定义全局变量而没有导出。我无法改变和保持不变。 当引用该文件中的函数时,对于没有关键字var / const定义的函数,我得到uncaught referenceerror

在ES6中使用此类文件的正确方法是什么?

例如,如果旧的第三方js文件包含以下代码。在浏览器中执行期间,我收到了ClassicClient未被捕获的引用错误。

ClassicClient = function(x, y){
  return x+y;
}

1 个答案:

答案 0 :(得分:0)

既然您可能正在使用某些东西(Babel?)从ES6转换到ES5以及某些模块捆绑器(Webpack?),您的捆绑包有"use strict",使其在严格模式下运行,而不是允许没有window.前缀的全局变量。请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode#Converting_mistakes_into_errors

我不确定是否可以为一个特定模块或全局禁用严格模式。检查:How to remove global "use strict" added by babel