TypeScript
@types/node
(这是普遍需要的)@types/validator
@types/bluebird
// 我们需要为我们的模型声明一个接口,基本上就是我们的类
interface MyModel extends Model {
readonly id: number;
// 需要声明静态模型,以便`findOne`等使用正确的类型.
type MyModelStatic = typeof Model & {
new (values?: object, options?: BuildOptions): MyModel;
}
// TS无法从 `.define` 调用中获取正确的类定义,因此我们需要在此处进行转换.
const MyDefineModel = <MyModelStatic>sequelize.define('MyDefineModel', {
id: {
primaryKey: true,
});
function stuffTwo() {
MyDefineModel.findByPk(1, {
rejectOnEmpty: true,
})
.then(myModel => {
console.log(myModel.id);
});