首页 > 解决方案 > 使用 Typescript 添加静态方法以对模型抽象类进行 Sequelize

问题描述

Model在使用 Sequelize 时,我发现向所有s添加静态方法很有帮助。在 Javascript 中,我只需按以下方式分配方法:

const { Model } = require('sequelize)

Model.someStaticMethod = () => {}

但是,在 Typescript 中,这将导致someStaticMethod未在 abstract class 上定义的错误Model

标签: typescriptsequelize.js

解决方案


为了解决这个问题,您可以在给定的命名空间中创建变量,从而允许您扩充类并添加静态方法。

// types/sequelize/index.d.ts

import 'sequelize'

declare module 'sequelize' {
  namespace Model {
    let someStaticMethod : function // You can import the actual function definition here.
  }
}

现在分配时Model.someStaticMethod = () => {},Typescript 将不再抛出错误。

希望这可以帮助某人!


推荐阅读