【问题标题】:VsCode intelliSense Problem with Sequelize.ModelSequelize.Model 的 VsCode 智能感知问题
【发布时间】:2026-02-11 13:35:02
【问题描述】:

我在使用 Sequelize.Model 类的智能感知方面存在一些问题 在设置属性 Sequelize.Model 后,Model 中的很多方法都没有与 vscode 中的 IS 链接

With default class

With @property jsdoc Sequelize.Model


 /**
  * @typedef DB
  * 
  * @property {Sequelize} sequelize
  * @property {Sequelize.Model} User
  * @property {Sequelize.Model} Product
  */

/**
 * @type {DB}
 */
const db = {
    ...models,
    sequelize
};
db.User.

【问题讨论】:

  • 只是为了确定,您实际上是否在与您的数据库相同的文件中加载(要求)Sequelize?
  • @Booster2ooo 是的,请看截图
  • 我可能很累,但我在屏幕截图上看不到任何 require() :(
  • @Booster2ooo 你可以通过第一个屏幕上的链接理解这一点。

标签: javascript node.js sequelize.js


【解决方案1】:

您还必须导入 typedef

对我来说这很好用!

'use strict';
/**
* @typedef {import('sequelize').Sequelize} Sequelize
* @typedef {import('sequelize/types')} DataTypes
*/

/**
* @param {DataTypes} DataTypes
* @param {Sequelize} Sequelize
* @returns
*/
module.exports = (Sequelize, DataTypes) => {



    const Post = Sequelize.define('Post', {
        id: {
            allowNull: false,
            autoIncrement: true,
            primaryKey: true,
            type: DataTypes.INTEGER
        },
        headline: {
            type: DataTypes.TEXT
        },
        body: {
            type: DataTypes.TEXT
        },
        createdAt: {
            type: DataTypes.DATE,

            defaultValue: Sequelize.literal('NOW()')
        },
        updatedAt: {
            type: DataTypes.DATE,

            defaultValue: Sequelize.literal('NOW()')
        },
    }, { timestamps: true });
    Post.associate = function (models) {
        // associations can be defined here
        Post.belongsTo(models.User);
    };
    return Post;
};

【讨论】: