美文网首页
「1分钟--前端06」nodejs,express,koa

「1分钟--前端06」nodejs,express,koa

作者: 悬笔e绝 | 来源:发表于2018-05-18 22:41 被阅读0次

一.Express中间件原理详解

1.中间件本质:就是一个函数;

2.中间件功能:

(1)执行任何代码;(2)修改请求和响应对象;(3)调用堆栈的下一个中间件;

通俗的理解,就像一个管道,新的管道可以对流过的请求,数据做处理;

3.中间件分类:

五类,原理相同,用法不同而已;

(1)应用级中间件;(2)路由级;(3)错误处理类;(4)内置(5)第三方;

4.原理:

(1)源码中与中间件相关的三个文件

node源码

(2)application.js中的use方法,把我们app.use注册的中间件和路由方法交给了Router类来处理。

(3)子中间件,同时挂载一系列中间件函数,就会在一个挂载点上创建子中间件栈;


二.Express和KOA的对比

1.相同点:基于node的服务端开发框架,处理的重点三个:

HTTP Request和HTTPRespone两个对象的封装和处理;

应用声明周期的维护;

视图的处理;

2.总体的区别:

(1)express基于connect中间件框架,自身封装了很多功能,比如路由、视图;

KOA基于co中间件框架,自身集成的功能很少,需要自行require;

(2)回调函数的特性:

KOA1是基于ES6的generator的,解决了回调黑洞问题;

KOA2把generatoryield换成语义化更好async和await了;

3.HTTP Request对象

(1)express使用req.query 即可拿到get请求的url格式化对象;

post请求需要body-parser中间件;

(2)koa使用this.request.query拿到get请求的url格式化对象;

post请求需要用co-body中间件;

4.路由Route

(1)express中使用,all(所有),get,post

注意app.get,一个参数表示获取公共的配置项,两个参数时才作为路由处理。

(2)KOA中要引入route中间件使用get、post方法,再把route挂载到app.use上;

5.HTTP Respone

express使用res对象;KOA绑定到ctx.body上,输出json需要引人中间件;


三.基本API: 4句和5句

image

相关文章

  • React-SSR渲染调研

    前期思考: 1、nodejs环境如何加载前端组件选用koa、express、egg 2、组件的数据如何获取 3、H...

  • 学习mpvue笔记——koa入门

    koa是什么?koa基于Nodejs平台的下一代web开发框架(上一代是express)。 Express原班人马...

  • koa入门

    学习nodejs 中的koa2 一. 什么是koa ​ 类似于 express , koa是一个基于node...

  • ubuntu+nodejs+express+koa

    一、ubuntu安装nodejs 二、安装npm & cnpm & express & koa 三、升级node&npm

  • 「1分钟--前端06」nodejs,express,koa

    一.Express中间件原理详解 1.中间件本质:就是一个函数; 2.中间件功能: (1)执行任何代码;(2)修改...

  • eggjs自动加载路由

    刚接触nodejs不久,在后端的web框架中,有接触过express,koa,sails等一些框架。express...

  • AdonisJs v4学习笔记 1 -了解AdonisJs v4

    1. NodeJs框架现状 目前NodeJs框架很多,但好用的很少。 Express4和Koa2都不错,但功能太少...

  • koa搭建nodejs项目并注册接口

    使用nodejs注册接口逻辑处理会比较复杂,直接通过express或者koa能够简化开发流程,这里记录用koa来搭...

  • 模拟数据创建

    常用的nodejs框架:* express koa(两者同一个团队开发)* egg(阿里团队)* hapi(沃尔玛...

  • nodejs之express中间件

    前言 目前最主流的nodejs框架应该就是express和koa了,二者都是同一个团队开发的。koa更新一点,并且...

网友评论

      本文标题:「1分钟--前端06」nodejs,express,koa

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