Awesome Open Source
Awesome Open Source

typescript,type orm,

最简单直接的 Koa2 的脚手架 - eaglet

哲学

我不想知道你的哲学,但我想立即开始并完成工作

  • 迅速开发 - 自动热重启服务 + 测试驱动开发模式 + 重置数据库(by cli)
  • 生产就绪 - 有 node 和 npm 马上可以部署,不用安装任何东西
  • 从众 - 80%人会做的设计决定(design decision)和 80%人会使用的库(library)
  • 结构简单 -  routes + MVC + 中间件(Middleware)
  • 没有魔法 - 可由 app.js 开始 , 25 分钟读懂的代码(易用,易写,易看,易学的车子结构应用和实践,用了对 node js 和 koa2 必有更多的理解)

特别之处

  1. 没有 babel 配置(Node 9)
  2. Nodemon 自动热重启服务
  3. 自带会员系统 (可选)(Passport js)
  4. 邮件服务 (Sparkpost)
  5. 对象关系映射(ORM) (Sequelize)
  6. 多个配置(/.env production.json,test.json,development.json)
  7. koa-router

定位

  • koa 2 入门至中级䦕发者
  • 1-5 小团队快速开发
  • 小微 IT 企业

P.S 如果你的开发团队人数大于 10 人且人人都是 koa 大神,eggjs 会是更适合你

技术堆栈

  1. Node js
  2. koa2
  3. Sequelize
  4. 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

https://stackoverflow.com/questions/16573668/best-practices-when-running-node-js-with-port-80-ubuntu-linode

谢谢

使用部分代码和概念于

17koa2

koa2-server


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Typescript (247,336
Nodejs (53,776
Mysql (12,095
Sqlite (2,810
Sequelize (1,198
Koa2 (928
Pm2 (334
Related Projects