Midway项目模板
├─doc # 相关文档
├─src # 源码目录
│ ├─api # api接口定义及输入输出定义
│ ├─common # 通用类
│ ├─config # 配置
│ ├─controller # 控制器
│ ├─entity # 数据对象模型
│ ├─filter # 过滤器
│ ├─middleware # 中间件
│ ├─service # 服务类
│ ├─utils # 工具类
│ ├─configurations.ts # 服务生命周期管理及配置
│ └─interface.ts # 接口定义
├─test # 测试类目录
├─.env # 环境变量
├─app.js # 支持发布Serverless
├─bootstrap.js # 启动入口
├─Dockerfile # Docker构建文件
├─f.yml # Serverless标准化spec配置文件
API接口需要认证,先使用login接口获取accessToken(账号:zhangsan/123456),然后复制,点击Swagger页面中的Authorize按钮,输入这个accessToken,就可以测试其他接口了。
>git clone https://github.com/bestaone/midway-boot.git
在mysql中创建名称为 midway-boot 的 schema
MYSQL_HOST=devserver # 你的mysql数据库IP 或者 域名
MYSQL_USERNAME=dev # 你的mysql数据库用户名(需要有建表权限)
MYSQL_PASSWORD=123456 # 你的mysql数据库密码
MYSQL_PORT=3306 # 你的mysql数据库端口
REDIS_HOST=devserver # 你的redis IP 或者 域名
REDIS_PORT=6379 # 你的redis端口
src/config/config.default.ts -> orm.synchronize=true,可控制程序启动时自动创建、更新表结构,但是需要先把数据库schema建好
# 按顺序执行
>cd midway-boot
>npm install # 安装依赖
>npm run test # 运行单元测试,这过程会检查mysql、redis是否配置正确
>npm run dev # 启动服务
程序启动时会自动生成表结构,不需要手动创建表结构(但是需要先把数据库schema建好) 如果测试通不过,检查下数据库有没有自动生成测试账号(user.test.ts中会创建测试账号)
以IntelliJ IDEA为例:
>cd midway-boot
>docker build -t midway-boot:v1.0 .
>docker run -d --name midway-boot -p 17001:7001 --env-file /opt/.env midway-boot:v1.0
开通阿里云函数服务并设置,参考: http://www.midwayjs.org/docs/serverless/serverless_dev
调整配置(f.yml)
# domainName 改为 auto,也可以使用自己配置的域名
custom:
customDomain:
domainName: auto
# 首次发布,需要使用 npx midway-bin deploy --resetConfig 命令配置客户端
# 发布到 阿里云 Serverless, 时间较长,需要等待,大概5分钟
> npm run deploy
使用阿里云自动分配的域名访问Swagger进行验证
本项目执行 MIT 协议
如果群二维码失效了,请先添加我的微信,然后我拉你入群。