基于以下技术构建
- Node.js & MidwayJS(EggJS)
- TypeScript
- Redis
- MySQL 5.7 以上
- Sequelize
TypeORM 底层还在进行大重构,暂时不适宜用于生产环境- Socket.io
GraphQL- ...
因为 midwayjs
使用了 IoC
容器进行依赖解耦,所以开发方式会跟 eggjs
有些不一样,建议先阅读 midwayjs 官方文档、Injection 文档
验证码模块使用了 node-canvas
库, 所以请先根据 node-canvas 文档 安装好相应的依赖
开发目录为:src/app/modules/*
请确保已经拉取项目到本地环境,并且安装配置好 Node/yarn
1、安装依赖
yarn
2、copy config
配置
cp src/config/config.example src/config/config.default.ts
然后修改对应的配置信息
3、执行数据库迁移
sequelize-cli 的数据库迁移并不好用,主要是它没办法定义多目录的 migration, 所以当前使用的是 typeorm 的数据库迁移功能
遇到出现 UnhandledPromiseRejectionWarning: QueryRunnerAlreadyReleasedError: Query runner already released. Cannot run queries anymore. 错误,请无需担心,这是 typeorm 的一个 bug, 不会影响迁移结果
yarn typeorm migration:run
4、运行
yarn dev
更多请看 midway 部署
使用 docker 详见 docker 手册跟 Dockerfile
使用 pm2
pm2 start ecosystem.config.js
使用 egg-scripts
yarn start
对应代码目录: src/console
// 待补充