我有以下问题:我正在基于Express.js(使用纯JS而不是TS)构建一些程序。 我正在使用Sequelize作为ORM。
我有“存储库”类,该类从BaseRepository类继承功能。这是一个UserRepo示例:
class UserRepo extends BaseRepo{
constructor(model){
super(model);
}
}
父类BaseRepo:
class BaseRepo{
constructor(model){//VSCODE HAS NO CLUE WHAT TYPE THAT IS
this.model = model
}
async index(){
const records = await this.model.findAll();
return records;
}
...
}
问题在于VSCode不知道this.model是 Sequelize模型,因为它被注入到其他地方。因此,智能感知无法正常工作。
是否可以手动导入模型类型声明,并告诉VSCode使用它,也许使用JSDoc?
任何帮助将不胜感激。
答案 0 :(得分:0)
如果您使用的是Typescript,请在构造函数中像这样设置Type
constructor(model: Sequelize){
this.model = model
}
如果您使用的是Javascript,请像这样编写JSDoc:
/**
* @param {Sequelize} model
*/
constructor(model){
this.model = model
}