如果在使用Babel时遇到类继承无法正确转译的问题,可以尝试使用@babel/plugin-proposal-class-properties插件。该插件可以正确地将类继承转译为ES5兼容的代码。
示例代码:
// 安装@babel/plugin-proposal-class-properties
npm install --save-dev @babel/plugin-proposal-class-properties
// babel.config.js中添加插件配置
module.exports = {
"plugins": [
["@babel/plugin-proposal-class-properties", { "loose": true }]
]
}
// 示例代码
class Animal {
constructor(name) {
this.name = name;
}
getName() {
return this.name;
}
}
class Dog extends Animal {
constructor(name) {
super(name);
}
bark() {
console.log("Dog " + this.getName() + " is barking.");
}
}
const dog = new Dog("Snoopy");
dog.bark(); // Output: Dog Snoopy is barking.