Javascript nodejs超级表达式必须为null或函数
在我的UserService类中,我试图用super调用我的基类构造函数。如果我尝试这样做,我会得到以下错误: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
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