WebStorm Node.Js Sequelize Model类型提示
WebStorm Node.Js Sequelize Model type hint
我想知道如何在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",…这样的序列化方法
有人知道如何获得这些代码完成吗?
我通常添加假方法来改进IDE自动完成
db.sequelize = sequelize;
db.Sequelize = Sequelize;
// eslint-disable-next-line
function enableAutocomplete() {
/** @type {Model|Address|*} */
db.Address = require('./address')();
/** @type {Model|Group|*} */
db.Group = require('./group')();
throw new Error('this function for IDE autocomplete');
}
Inside WebStorm 2019将鼠标悬停在您的Sequelize上包括:
require('sequelize');
你应该看到黄色的灯泡。点击黄色灯泡,你就可以选择"安装TypeScript定义以获得更好的类型信息"
这个特性在WebStorm文档中也有记录,这里的例子是express.jshttps://www.jetbrains.com/help/webstorm/configuring-javascript-libraries.html
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 如何在DOM元素上按类型构建此函数
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 提示使用服务器端事件处理程序激活JavaScript
- 如何将具有文本类型值的var放入jQuery函数中
- javascript解释器如何理解变量的数据类型
- 可变大小的JavaScript字符串如何成为基元类型
- Javascript 可选类型提示
- 在所有系列类型之间共享工具提示
- 如何在JSDOC中标记任何类类型以获取类型提示
- DOJO 工具提示给出“未捕获的类型错误:对象不是函数”
- Emscripten:将提示替换为控制台(某种类型)
- WebStorm Node.Js Sequelize Model类型提示
- 谷歌搜索类型工具提示
- javascript提示返回类型始终是对象
- 数据类型检查提示复选框javascript