typescript,type orm,
最简单直接的 Koa2 的脚手架 - eaglet
哲学
我不想知道你的哲学,但我想立即开始并完成工作
- 迅速开发 - 自动热重启服务 + 测试驱动开发模式 + 重置数据库(by cli)
- 生产就绪 - 有 node 和 npm 马上可以部署,不用安装任何东西
- 从众 - 80%人会做的设计决定(design decision)和 80%人会使用的库(library)
- 结构简单 - routes + MVC + 中间件(Middleware)
- 没有魔法 - 可由 app.js 开始 , 25 分钟读懂的代码(易用,易写,易看,易学的车子结构应用和实践,用了对 node js 和 koa2 必有更多的理解)
特别之处
- 没有 babel 配置(Node 9)
- Nodemon 自动热重启服务
- 自带会员系统 (可选)(Passport js)
- 邮件服务 (Sparkpost)
- 对象关系映射(ORM) (Sequelize)
- 多个配置(/.env production.json,test.json,development.json)
- koa-router
定位
- koa 2 入门至中级䦕发者
- 1-5 小团队快速开发
- 小微 IT 企业
P.S 如果你的开发团队人数大于 10 人且人人都是 koa 大神,eggjs 会是更适合你
技术堆栈
- Node js
- koa2
- Sequelize
- Mysql/SQlite
安装并运行
1. git clone [email protected]:chungchi300/eaglet.git
//更改 database
2. src/config/default.js (default sqlite but suggest mysql in production)
3. npm i && npm run reset && npm start
访问
测试服务器
开发模式
文件修改后 nodemon立即自动重启 Node.js 服务
npm run start
测试驱动开发模式
文件修改后 Jest立即自动重新运行所有测试
npm run test
线上模式
使用 pm2 是 node 进程管理器,如果 node 进程崩溃立即自动重启进程
npm run production
配置&&部署线上
默认配置文件位于 src/config/default.js.
.env 配置会覆盖(override) 默认配置.
e.g
.env/production.json 覆盖 src/config/default.js 配置
线上 3000 port 转 80
谢谢
使用部分代码和概念于