【发布时间】:2016-01-08 08:43:53
【问题描述】:
我想知道如何在 WebStorm 中键入提示 node.js 对模型进行续集以更好地完成代码。
至少我能够弄清楚如何获得模型属性的代码完成。但我缺少 sequelize 中的模型函数。
这是我走了多远:
模型/exampleModel.js
/**
* @module ExampleModel
* @typedef {Object}
* @property {ExampleModel} ExampleModel
*/
/**
*
* @param sequelize {sequelize}
* @param DataTypes {DataTypes}
* @returns {Model}
*/
module.exports = function (sequelize, DataTypes) {
var ExampleModel = sequelize.define('ExampleModel', {
id: {
type: DataTypes.BIGINT.UNSIGNED,
primaryKey: true
},
someProperty: {
type: DataTypes.BOOLEAN,
defaultValue: true
}
}, {
classMethods: {
associate: function (models) {
ExampleModel.belongsTo(models.AnotherModel, {foreignKey: 'id'});
}
}
});
return ExampleModel;
};
模型/index.js
'use strict';
/**
* @module models
* @typedef {Object} models
* @property {ExampleModel} ExampleModel
* @property {AnotherModel} AnotherModel
*/
var db = {};
// code that automatically fills db with models from files
// resulting in something like { ExampleModel : ExampleModel, AnotherModel: AnotherModel}
module.exports = db;
现在我可以输入类似的东西了
var models = require(__base + 'models');
models.Ex // Webstorm suggets "ExampleModel"
models.ExampleModel. // WebStorm suggets "id", "someProperty", "classMethods" (the last one is weird, but doesn't matter)
并获得模型及其属性的代码完成。 现在我缺少像“upsert”、“create”、...这样的sequelize方法。
有没有人知道如何为那些也完成代码?
【问题讨论】:
标签: javascript node.js webstorm sequelize.js type-hinting