Javascript nodejs超级表达式必须为null或函数

Javascript nodejs超级表达式必须为null或函数,javascript,node.js,express,ecmascript-6,es6-class,Javascript,Node.js,Express,Ecmascript 6,Es6 Class,在我的UserService类中,我试图用super调用我的基类构造函数。如果我尝试这样做,我会得到以下错误:TypeError:Super expression必须为null或函数 这是我的UserService类 import { Service } from './Service'; class UserService extends Service { constructor(model) { //Calls Service contructor with specifie

在我的UserService类中,我试图用super调用我的基类构造函数。如果我尝试这样做,我会得到以下错误:
TypeError:Super expression必须为null或函数

这是我的UserService类

import { Service } from './Service';

class UserService extends Service {
  constructor(model) {
    //Calls Service contructor with specified model.
    super(model);
  }
}

export default { UserService };
这是基类:

import autoBind from 'auto-bind';

class Service {
  constructor(model) {
    this.model = model;
    autoBind(this);
  }
}

export default { Service };
我环顾了一下四周,有人说这可能与拼写不正确的类名有关。我检查了我的,但都是正确的

其他人说这可能是这些类的导出和导入方式

我不太熟悉不同的导出语法,所以这可能是问题所在

更新:


这确实与我导入和导出东西的方式有关。

无法重现您的问题。您可能没有正确导入服务。以下是一个工作示例:

Service.js

从“自动绑定”导入自动绑定;
班级服务{
模型
建造师(模型){
this.model=模型;
自动绑定(本);
}
}
出口{服务};
UserService.js

从“/Service”导入{Service};
类UserService扩展服务{
建造师(模型){
超级(模型);
}
}
导出{UserService};
main.js

从“/UserService”导入{UserService};
const model={name:'teresa teng'};
const userService=新用户服务(模型);
log(userService.model.name);
输出:

teresa teng