gpt4 book ai didi

webpack - Babel 和 EventTarget 的子类

转载 作者:行者123 更新时间:2023-12-05 06:36:32 26 4
gpt4 key购买 nike

我为 WebGL 程序导出了以下 JS 类:

export default class MyClass extends EventTarget {
constructor(gl) {
super();
// more code here
}
}

Babel (babel-preset-es2015) 在 webpack JS bundle 中生成如下代码:

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 插件?

最佳答案

通过向我的项目添加一个 npm 模块 event-target-shim 找到我自己的问题的解决方案,并通过添加以下导入更改类:

import { EventTarget } from 'event-target-shim';

export default class MyClass extends EventTarget {
/* same as above */
}

关于webpack - Babel 和 EventTarget 的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49011024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com