如何从index.d.ts文件中手动导入类型,并告诉VS Code intellisense变量属于该类型?

问题描述 投票:0回答:1

我有以下问题:我正在基于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?

任何帮助将不胜感激。

javascript typescript visual-studio-code jsdoc
1个回答
0
投票

如果您使用的是Typescript,请在​​构造函数中像这样设置Type

constructor(model: Sequelize){
    this.model = model
}

如果使用的是Javascript,请像这样编写JSDoc:

/**
 * @param {Sequelize} model
 */
constructor(model){
    this.model = model
}
© www.soinside.com 2019 - 2024. All rights reserved.