Chrome调试器未显示动态类名

mhe*_*ens 5 javascript class google-chrome-devtools ecmascript-6 babeljs

我的Javascript代码动态生成了一堆ES2015类,包括一个自定义名称:

const EntitySubclass = class extends Entity {};

Object.defineProperties(EntitySubclass, {
    name: { value: dynamicClassName }
});
Run Code Online (Sandbox Code Playgroud)

这在代码本身中可以正常工作。CustomClass.name返回期望的名称。但是,当显示在Chrome控制台或调试器中时,这些类之一始终称为EntitySubclass。我也试过这个:

const obj = { [dynamicClassName]: class extends Entity {} };
const EntitySubclass = obj[dynamicClassName];
Run Code Online (Sandbox Code Playgroud)

和这个:

const obj = {};
obj[dynamicClassName] = class extends Entity {};
const EntitySubclass = obj[dynamicClassName];
Run Code Online (Sandbox Code Playgroud)

但这导致调试器向我显示一些自动生成的名称(_class3)。

这个可以解决吗?

我正在使用Babel进行编译,我记得在某处读到这种行为取决于所使用的Babel插件。所以这是我的Babel配置:

"presets": [
    "es2015"
],
"plugins": [
    ["babel-plugin-transform-builtin-extend", { "globals": ["Set"] }],
    "transform-object-rest-spread",
    "transform-decorators-legacy",
    "transform-class-properties",
    "transform-es2015-instanceof",
    "transform-async-to-generator",
    "transform-function-bind",
    "syntax-flow",
    "transform-flow-strip-types"
]
Run Code Online (Sandbox Code Playgroud)