我对 intelliSense 和 class Sequelize.Model 有一些问题模型中的许多方法在设置属性 Sequelize.Model 后没有与 vscode 中的 IS 链接
使用默认类
使用@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.
你还必须导入 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;
};