egg-sequelize-ts
更改
插件只是将 egg-sequelize
中的 sequelize 替换为 sequelize-typescript, 同时保证用户在 egg.js 创建的项目中使用 egg-sequelize
的方法尽量一致,在使用时的不同,我将下面一一阐述。 其他内容部分请查看 egg-sequelize。
此插件已在生产项目中得到实践。
目的
能让使用 typescript
编写的 egg.js 项目中能够使用 sequelize方法,并同时得到egg.js所赋予的功能。
安装
$ npm i --save egg-sequelize-ts$ yarn add egg-sequelize-ts
配置
- Enable plugin in
config/plugin.js
- 在
config/plugin.js
文件中引入egg-sequelize-ts
组件
exportssequelize =enable: truepackage: 'egg-sequelize-ts'
- Edit your own configurations in
conif/config.{env}.js
在conif/config.{env}.js
中编写 sequelize 配置
configsequelize = dialect: 'mysql' host: '127.0.0.1' port: 3306 database: 'database' ;
例子
分别以 model/user.js 和 service/user.js 举例说明
note 注意我们都是从
sequelize-typescript
中导出类名,方法,属性等。
// app/model/user.js /** * @desc 用户表 */;@<User> @PrimaryKey @AutoIncrement @ id: number; @ name: string; @ email: string; @ phone: string; @ createdAt: Date; @ updatedAt: Date;; User;
// app/service/user.js;; async { const or = SequelizeOp; const users = await thisctxmodelUser; thisctxbody = users; }