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)
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |