简介
Daruk 是一款基于 Koa2,使用 typescript 开发的轻量级 web 框架,使用过 koa2 框架的朋友应该知道,koa2 属于比较原始和基础的 http server 实现,在日常的开发工作中,我们可能需要通过安装很多开源的中间件,自己完成复杂的项目配置,路由管理,以及和业务无关的工作:如日志,监控,性能等基础组件的定制。
有了 Daruk,我们可以轻松地一键初始化你的 web 项目,快速的编写业务代码。Daruk 的目的就是轻量和易扩展,新增的概念少,上手难度低,核心代码也不多,但是可以提供给开发者更多的灵活选择,快速完成业务开发,约束项目规范和代码格式。
Daruk 来源自塞尔达传说旷野之息里的四英杰之一,拥有在周围张开结界保护自己的力量,框架的目的也是为了给 nodejs server 提供健壮的基础管理能力。
Daruk 基于 koa2,包含以下核心功能:
- 一键生成项目,自动后续升级
- 自动 loader 与装饰器结合的机制
- 完整的 typescript 开发体验
- 生产环境服务重启或退出邮件报警
- 性能日志 & 业务日志染色功能
- 支持线上实时性能分析
- 轻量级的链路追踪
Daruk 脚手架集成了丰富的扩展与中间件
- 常用的中间件
- koa-bodyparser
- koa-favicon
- formidable-upload-koa (上传文件)
- koa-json-body
- koa-body-clean
- koa-logger
- koa-json
- koa2-cors
- koa-handle-error
- koa-response-handler
- koa-proxies (请求代理)
- koa-ip (ip限制)
- koa-static (静态服务)
- koa-jsonp (jsonp支持)
- koa-compress (压缩功能)
- koa-session (会话能力)
- koa-flash-simple (闪存能力)
- koa-ejs (模板引擎内置)
- graceful-shutdown (优雅关闭)
- 常见的 service 功能
- ioredis
- node-rdkafka
- sequelize
- mysql
- request
- node-mail
- 图片处理能力
- xss过滤
- 数据验证
- 分页类
- 数据加密
- 日历类
- 单元测试类
- 页面缓存化能力
- 常见的 utils 功能
- lru-cache
- lodash
- 大量的辅助函数
查看 Daruk 文档快速开始吧!
开始 →