有一个class A
,SubA继承A,但是控制台报错Class constructor xxx cannot be invoked without 'new'
该如何解决?
//A的创建
class A{
constructor() {}
};
export default A
//A的继承
import A from 'xxx'
class SubA extends A{
constructor() {
super();
}
};
export default SubA
//类的实例使用
import A from 'xxx'
import SubA from 'xxx'
let B = new A(); //正常运行
let B0 = new SubA(); //报错
这错误奇怪的很,再另一个程序这么做没毛病,这边就出这问题了。文件的路径检查过没错,也没有变量名错误。
找到问题:文件路径问题。
class A所在文件在static文件夹同级的某个文件夹中,虽然引用的路径没错,但……某个原因,反正就是错了。
将class A所在文件换到src 文件夹中,就……正常了。
最新的解决方法:之所以出现该错误是因为class A所在的文件在src文件夹外,没有被webpack打包导致无法识别该语法,用babel对该文件进行转换即可。