我有下面的person.js
export class Person {
firstName = ""
lastName = ""
middleName = "Nothing"
constructor(first, last){
this.firstName = first;
this.lastName = last;
}
get fullName() {
return this.firstName + " " + this.middleName + " " + this.lastName;
}
}
每当我试图运行Webpack时,我都会遇到一个语法错误,指向firstName
和双引号之间的第一个等号。
如果我删除了构造函数之前的所有属性,那么一切都会正常工作(尽管我必须在构造函数中包含middleName
的定义)。
我不知道这是网络包的问题还是巴别塔的问题。如果我把代码输入巴别塔的在线测试编译器,巴别塔似乎没有问题。
我试过使用babel-preset-es2015
、babel-preset-es2016
和babel-preset-env
配置Babel,但没有任何变化。
知道为什么会出现错误吗?像这样的属性定义只在TypeScript中可用吗?
2条答案
按热度按时间w3nuxt5m1#
您需要使用
transform-class-properties
插件或包含此插件的stage-2
预设。如果没有此插件,您将无法转换类属性:或者:
然后确保将其包含在您的
.babelrc
或其他配置方式中:或者:
o7jaxewo2#
您可能在eslintrc.json文件中缺少
"parser":"babel-eslint",
这将确保使用Babel解析器