按照官网文档生成 ts 项目,使用 egg-sequelize ,按照文档定义一个User Model,启动会报错,报错大概是app.model.define中define不存在,好像是生成的类型影响到了model?
import { Application } from 'egg';
module.exports = (app: Application) => { const { STRING, INTEGER, DATE } = app.Sequelize; const User = app.model.define('user', { id: { type: INTEGER, primaryKey: true, autoIncrement: true }, name: STRING(30), age: INTEGER, created_at: DATE, updated_at: DATE, });
return User;
};
执行 npm run dev,报错, 关键错误日志:
TSError: [egg-core] load file: PATH/TO/showcase/app/model/user.ts, error: ⨯ Unable to compile TypeScript:
app/model/user.ts(5,28): error TS2339: Property 'define' does not exist on type 'Sequelize'.
生成的 typings 目录中 app/model/index.d.ts:
// This file is created by egg-ts-helper@1.25.3 // Do not modify this file!!!!!!!!!
import 'egg'; import ExportUser from '../../../app/model/User';
declare module 'sequelize' { interface Sequelize { User: ReturnType; } }
<!-- 请提供复现步骤,错误日志以及相关配置 -->
<!-- 可以尝试不要锁版本,重新安装依赖试试先 -->
## 相关环境信息
- **操作系统**:macOS 10.12.6
- **Node 版本**:10.14.2
- **Egg 版本**:2.22.2
- TypeScript: 3.5.1
- egg-sequelize: 5.0.0