Z
基于 MidwayJS(EggJS) + TypeScript 的多模块应用 [ NodeJS 版 ]
> 基于以下技术构建 - Node.js & MidwayJS(EggJS) - TypeScript - Redis - MySQL 5.7 以上 - Sequelize - TypeORM 底层还在进行大重构,暂时不适宜用于生产环境 - Socket.io - GraphQL - ... The project is written primarily in TypeScript, first published in 2018. Key topics include: egg, midway, midwayjs, sequelize, ts.
z
基于以下技术构建
- Node.js & MidwayJS(EggJS)
- TypeScript
- Redis
- MySQL 5.7 以上
- Sequelize
- <del> TypeORM 底层还在进行大重构,暂时不适宜用于生产环境</del>
- Socket.io
- <del>GraphQL<del>
- ...
注意事项
因为 midwayjs 使用了 IoC 容器进行依赖解耦,所以开发方式会跟 eggjs 有些不一样,建议先阅读 midwayjs 官方文档、Injection 文档
验证码模块使用了 node-canvas 库, 所以请先根据 node-canvas 文档 安装好相应的依赖
模块开发目录
开发目录为:src/app/modules/*
快速开始
请确保已经拉取项目到本地环境,并且安装配置好 Node/yarn
1、安装依赖
bashyarn
2、copy config 配置
bashcp 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, 不会影响迁移结果
bashyarn typeorm migration:run
4、运行
bashyarn dev
部署
更多请看 midway 部署
使用 docker
详见 docker 手册跟 Dockerfile
使用 pm2
bashpm2 start ecosystem.config.js
使用 egg-scripts
bashyarn start
辅助开发的 Cli 命令
对应代码目录: src/console
bash// 待补充
Contributors
Showing top 1 contributor by commit count.
