es6 类的继承,Class constructor xxx cannot be invoked without 'new'

有一个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(); //报错

这错误奇怪的很,再另一个程序这么做没毛病,这边就出这问题了。文件的路径检查过没错,也没有变量名错误。

阅读 20.7k
2 个回答

找到问题:文件路径问题
class A所在文件在static文件夹同级的某个文件夹中,虽然引用的路径没错,但……某个原因,反正就是错了。
将class A所在文件换到src 文件夹中,就……正常了。

最新的解决方法:之所以出现该错误是因为class A所在的文件在src文件夹外,没有被webpack打包导致无法识别该语法,用babel对该文件进行转换即可。

from不是form

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏