首页 > 其他 > 详细

Express框架

时间:2021-04-24 16:30:45      阅读:15      评论:0      收藏:0      [点我收藏+]

1. Express框架简介及初体验

1.1 Express框架是什么

Express是一个基于 Node平台 的 web应用开发框架, 它提供了一系列的强大特性,帮助你 创建各种Web应用。

我们可以使用 npm install express 命令进行下载。

1.2 Express框架的特性

  • 提供了方便简洁的 路由定义 方式
  • 对获取HTTP 请求参数 进行了 简化处理
  • 对 模板引擎支持度高, 方便渲染动态HTML页面
  • 提供了一个 中间机制 有效 控制HTTP请求
  • 拥有大量第三方中间件对功能进行扩展

1.3 原生Node.js与Express框架 对比之<font color="red>路由

1.4 原生Node.js与Express框架 对比之<font color="red>获取请求参数

1.5 Express体验

使用Express框架创建web服务器极其简单,调用express模块返回的函数即可。

2. 中间件

2.1 什么是中间件

中间件就是一堆方法,可以接受客户端发来的请求,可以对请求做出相应,也可以将请求继续交给下一个中间件继续处理

中间件主要由两部分组成: 中间件方法 以及 请求处理函数

中间价方法由Express提供,负责拦截请求,请求处理函数由开发人员提供,负责处理请求。

app.get(‘请求路劲‘,‘处理函数‘)  // 接受并处理get请求
app.post(‘请求路劲‘,‘处理函数‘) // 接受并处理post请求

可以针对同一个请求设置多个中间件,对同一个请求进行多次处理。
默认情况下,请求从上到下依次匹配中间件,一旦匹配成功,终止匹配。
可以调用next方法将请求的控制权交给下一个中间件,知道遇到结束请求的中间件。

2.2 app.use中间件用法

app.use匹配所有的请求方式,可以直接引入请求处理函数,代表接受所有的请求。

app.use 第一个参数可以传入请求地址,代表不论生么请求方式,只要是这个请求方式就接收这个请求。

2.3 中间件的应用

  1. 路由保护,客户端在访问需要登陆的页面时,可以先使用中间件判断用户的登录状态,用户如果未登录,则拦截请求,直接响应,禁止用户进入需要登录的页面

  2. 网站维护公告,在所有路由的最上面定义接收所有请求的中间件,直接为客户端做出的响应,网站正在维护中。

  3. 自定义404页面

2.4 错误处理中间件

在程序执行的过程中,不可避免的会出现一些无法预料的错误,比如 文件读取失败,数据库连接失败。
错误处理中间件是一个集中处理错误的方法。

当程序出现错误时,调用next()方法,并且将错误信息通过参数的形式传递给next() 方法,即可触发错误处理中的中间件。

2.5 捕获错误

再node.js 中,异步API的错误信息都是通过回调函数获取的支持Promise对象的异步API发生错误可以通过catch方法捕获。

异步函数执行结果如果发生错误应该如何捕获?
try catch 可以捕获异步函数以及其他同步代码在执行过程中发生的错误,但是不能其他类型的API发生的错误。

3. Express请求处理

3.1 构建模块化路由

3.2 GET参数的获取

Express框架中使用 req.query 即可获取GET参数,框架内部会将GET参数转换为对象并返回。

3.3 POST参数的获取

Express中接受post请求参数需要借助第三方包 body-parser

3.4 Express路由参数

3.5 静态资源的处理

通过Express内置的 express.static 可以方便地托管静态文件, 例如img、css、JavaScript文件等。

app.use(express.static(‘public‘));

现在,public目录下免得文件就可以访问了

4. express-art-template模板引擎

4.1 模板引擎

  • 为了使art-template模板引擎能够更好的和Express框架配合,模板引擎官方在原art-template模板引擎的基础上封装了express-art-template。

  • 使用npm install art-template express-art-template命令进行安装。

4.2 app.locals对象

Express框架

原文:https://www.cnblogs.com/counter/p/14696470.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!