07月24, 2016

基于 Koa 2.0 打造自己的框架应用 Robot

最新说明以 Robot 为准

前面讲解了 Koa 2.0 使用与内部分析,但是用它来当做框架来开发应用还远远不够,因为它指提供了一个核心的 HTTP 服务

那为什么还要用它?为什么不使用一些现成的框架,诸如 express thinkjs 等

一方面由于 Koa 很小,只提供核心 HTTP 服务,让我们很清楚它都做了什么,同时帮我们把必要的核心功能写完了(自己写未必赶得上 ==#)

另一方面 Koa 提供了很好的扩展能力,一切都以中间件的形式接入,可以自己写或用一些社区的中间件来组装一个适合自己项目的框架应用

总结起来就是 灵活,扩展方便,一切都在我们的控制范围之内

但是同时也引入了一个问题,就是第三方的中间件质量参差不齐,也有的更新缓慢,官方也没有推荐一套预设的技术栈,导致提升了部分人的使用成本和使用难度

所以催生了这个 MVC 框架应用 Robot

它基于 Koa 2.0 ,精心挑选了如下中间件

  • koa-favicon
  • koa-bodyparser
  • koa-logger
  • koa-response-time
  • koa-router
  • koa-session2

同时由于现有功能不符和更新缓慢等原因,也基于如下模块封装了符合 Koa 2 的中间件

  • nunjucks
  • csrf
  • koa-send

这里说一下 nunjucks 模板,对比了现有的一些主流模板,最终选择了它

选它的主要原因是支持模板继承, 语法简洁、不打断原有语义,注册 helper 方便,支持浏览器与 Node 端,同时也在维护更新

可以到这里了解更多 nunjucks

使用 Robot 非常简单,主要执行以下三步

git clone https://github.com/ygm125/robot

npm install

node index.js

访问 http://127.0.0.1:8080/ 即可,应用本身提供了一个简单例子,相信大家看一眼就知道如何使用

更多说明可以到这里查看 https://github.com/ygm125/robot

当然这里只是一套推荐的技术栈,哪里不喜欢完全可以卸掉换上自己想要的

有什么问题欢迎给我留言

最后预告下一篇 如何集成部署自己的静态资源

本文链接:https://gmiam.com/post/robot.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。