koa和egg

作者: Doter | 来源:发表于2019-04-23 11:25 被阅读0次

koa2

image.png

如上图,每一个请求都会一层层穿过中间件,最终在某个中间件处结束(不再继续调用下边的中间件),然后一层层返回。
如果需要写一个服务,我们需要自己写具体的中间件去处理逻辑,而在前边可以使用中间件,帮助实现

const SESSION_Config = {
    key:'koa:sessssss',
    maxAge:86400000,
    overwrite: true, /** (boolean) can overwrite or not (default true) */
    httpOnly: true, /** (boolean) httpOnly or not (default true) */
    signed: true, /** (boolean) signed or not (default true) */
}
app.keys = ['mykoa'];

app.use(cors({credentials:true}));
app.use(session(SESSION_Config, app));
app.use(async(ctx,next)=>{                    //session 处理
  if(!ctx.session.islogin){
    ctx.session.islogin=false;
  }
  await next();
});

app.use(json());
app.use(logger());
app.use(bodyparser);
//如上代码,我使用cors,session,json,logger,bodyparser
//这些中间件帮我现实了跨域,session,json化,日志,请求体解析。

app.use(index.routes(),index.allowedMethods());  //公共api
app.use(async(ctx,next)=>{  //登陆检验
  if(ctx.session.islogin){
    await next();
  }else{
    ctx.body={state:-4,tip:"请登录"}
  }
})
app.use(user.routes(),user.allowedMethods());
//以上我只需要实现路由中间具体逻辑处理即可

如果学过spring的,可能想到那么controller和service呢?对不起,没有。
使用koa的话,controller及以后的需要自己实现。或者找比较好的中间件。

Egg.js 为企业级框架和应用而生

首先egg是在koa上的封装。

那koa没有controller,service,router,所以egg加入了这些,并且约定了文件目录结构,等等,这样的话,更利于工程化的开发。

相关文章

  • koa和egg

    koa2 如上图,每一个请求都会一层层穿过中间件,最终在某个中间件处结束(不再继续调用下边的中间件),然后一层层返...

  • egg入门-环境配置

    egg是阿里开发的一个强约束node框架,基于koa,所有koa插件都可以在egg上直接使用,详细请访问egg官网...

  • Egg框架应用Sequelize操作MySQL小结

    Egg.js,是阿里开源的企业级 Node.js 框架。相比Express、Koa,Egg.js更为轻量,是Koa...

  • Egg 的基本知识点

    1、Egg.js 是什么? Egg.js 是《阿里旗下产品》基于 Node.js 和 Koa 是一个 Nodejs...

  • 基于koa实现mvc

    之前使用了基于koa2的MVC结构的 egg 框架,大概理解是egg的使用规范。所以这里我们也简单的实现基于koa...

  • Egg企业级框架踩坑之路(一)

    记录一下 Egg 采坑道路,简要介绍:如果说 Express 和 Koa属于基础框架,那么基于 Koa 这个蛋就算...

  • Note19 egg+ vue项目搭建入坑

    egg.js 与 vue 结合 , 使用脚手架 easywebpack-cli。 了解egg目录结构(koa) 全...

  • Egg 静态资源及缓存设置

    egg是基于koa框架由阿里团队推出的框架,有很多后端的影子,看着舒服,黑! egg默认静态文件 egg 默认自动...

  • 白话理解框架Egg-01主线剧情与加载器

    Egg.js是什么 Egg.js 是阿里旗下产品基于Node.js 和Koa 是一个Nodejs 的企业级应用开发...

  • Egg.js 插件:egg-static

    GitHub 源码 安装 egg-static 是 Egg.js 内置的静态服务器插件,它基于 koa-stati...

网友评论

    本文标题:koa和egg

    本文链接:https://www.haomeiwen.com/subject/ingmgqtx.html