egg与express、koa的区别
三者皆为node.js web框架,但:
- express适合做个人项目,灵活性太高;
- egg是基于koa封装的企业级框架,奉行
约定优于配置
,按照一套统一的约定进行应用开发,减少开发学习成本,统一代码结构,使开发人员更能专注业务开发; - koa由express原班人马打造,相较于express更小、更富有表现力、更健壮,koa与express的主要区别为:
- 异步编程模型不同,express采用promise,koa采用async / await
- Middleware处理不同,koa采用了洋葱圈模型
- Context:和 Express 只有 Request 和 Response 两个对象不同,Koa 增加了一个 Context 的对象,作为这次请求的上下文对象
常见的模板引擎:
- Java的jsp
- PHP的smart
- node的nunjucks
jwt
body-parse
body-parser是非常常用的一个express中间件,作用是对post请求
的请求体
进行解析。使用非常简单。在egg中,内置了koa-bodyparser这个类似作用的中间件。