1.0.0 • Published 6 years ago

eaglet v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

最简单直接的 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 git@github.com: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