使用公共ES6类字段声明时收到错误“ Missing class properties transform.
”。如何修改我的包裹设置以允许这样做?
index.html
<body>
<div id="greeting"></div>
<script src="./app.js"></script>
</body>
app.js
class Greeter {
greeting = 'Hello';
constructor(container, name) {
container.innerText = `${this.greeting} ${name}`;
}
}
new Greeter(document.querySelector('#greeting'), 'Justin');
只有删除greeting = 'Hello';
声明,我才能使它起作用:
class Greeter {
constructor(container, name) {
this.greeting = 'Hello';
container.innerText = `${this.greeting} ${name}`;
}
}
new Greeter(document.querySelector('#greeting'), 'Justin');
答案 0 :(得分:1)
在文件.babelrc
中添加以下内容:
{
"plugins": ["@babel/plugin-proposal-class-properties"]
}
有关更多详细信息,请参见@babel/plugin-proposal-class-properties。您还应该能够使用public,static和新的private fields。