我为 WebGL 程序导出了以下 JS 类:
export default class MyClass extends EventTarget {
constructor(gl) {
super();
// more code here
}
}
Babel ( babel-preset-es2015
) 在 webpack JS 包中生成以下代码:
var MyClass = function(_EventTarget) {
_inherits(MyClass, _EventTarget);
function MyClass(gl) {
_classCallCheck(this, MyClass);
var _this = _possibleConstructorReturn(this,
(MyClass.__proto__ ||
Object.getPrototypeOf(MyClass)).call(this)); // ***
// more code here
}
};
.call(this)
在运行时,我从上面标记的调用中收到以下错误***
。
TypeError: Failed to construct 'EventTarget': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
我最初认为这是一个与 Webpack 相关的问题,但经过更多研究,我现在认为这个错误与 Babel 如何转译我的代码有关。
我应该启用哪些选项,babel-preset-es2015
或者我应该使用不同的 babel 插件?