九、Express框架

94 阅读2分钟

Express安装

  • express的使用过程有两种方式:
    • 方式一:通过express提供的脚手架,直接创建一个应用的骨架;
    • 方式二:从零搭建自己的express应用结构;
  • 方式一:安装express-generator
    • 安装脚手架
      • npm install -g express-generator
    • 创建项目
      • express express-demo
    • 安装依赖
      • npm install
    • 启动项目
      • node bin/www
  • 方式二:从零搭建自己的express应用结构;
    • npm init -y

Express的基本使用

  • 我们来创建第一个express项目:

    • 我们会发现,之后的开发过程中,可以方便的将请求进行分离:
    • 无论是不同的URL,还是get、post等请求方式;
    • 这样的方式非常方便我们已经进行维护、扩展;
    • 当然,这只是初体验,接下来我们来探索更多的用法;
  • 请求的路径中如果有一些参数,可以这样表达:

    • /users/:userId;
    • 在request对象中药获取可以通过 req.params.userId;
  • 返回数据,我们可以方便的使用json:

认识中间件

  • Express是一个路由和中间件的Web框架,它本身的功能非常少:

    • Express应用程序本质上是一系列中间件函数的调用;
  • 中间件是什么呢?

    • 中间件的本质是传递给express的一个回调函数;
    • 这个回调函数接受三个参数:
      • 请求对象(request对象);
      • 响应对象(response对象);
      • next函数(在express中定义的用于执行下一个中间件的函数);
  • 中间件中可以执行哪些任务呢?

    • 执行任何代码;
    • 更改请求(request)和响应(response)对象;
    • 结束请求-响应周期(返回数据);
    • 调用栈中的下一个中间件;
  • 如果当前中间件功能没有结束请求-响应周期,则必须调用next()将控制权传递给下一个中间件功能,否则,请求 将被挂起。

    image.png

编写解析request body中间件

![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5a8b500ab9b649d6abc5d4bd95219ce0~tplv-k3u1fbpfcp-watermark.image?)

应用中间件 – express提供

  • 但是,事实上我们可以使用expres内置的中间件或者使用body-parser来完成:

    image.png

  • 如果我们解析的是 application/x-www-form-urlencoded:

    image.png

应用中间件 – 第三方中间件

  • 如果我们希望将请求日志记录下来,那么可以使用express官网开发的第三方库:morgan

    • 注意:需要单独安装.

    image.png

  • 上传文件,我们可以使用express提供的multer来完成:

    image.png