当前位置: 首页 > wzjs >正文

云南建设厅查证网站手机百度下载

云南建设厅查证网站,手机百度下载,北京大兴区住房和城乡建设委员会网站,由一个网页建成的网站一、 按功能用途分类 1. 应用级中间件 这类中间件应用于整个 Express 应用程序,会对每个进入应用的请求进行处理。通过 app.use() 方法挂载,可用于执行一些全局性的任务,像日志记录、请求预处理、设置响应头这类操作。 const express req…

一、 按功能用途分类

1. 应用级中间件

这类中间件应用于整个 Express 应用程序,会对每个进入应用的请求进行处理。通过 `app.use()` 方法挂载,可用于执行一些全局性的任务,像日志记录、请求预处理、设置响应头这类操作。

const express = require("express");const app = express();// 记录请求日志的应用级中间件app.use((req, res, next) => {console.log(`Received ${req.method} request for ${req.url}`);next();});app.get("/", (req, res) => {res.send("Hello, World!");});app.listen(3000, () => {console.log("Server running on port 3000");});

2. 路由级中间件

它与特定的路由相关联,只会处理匹配该路由的请求。可以使用 `express.Router()` 创建路由实例,再在上面挂载中间件。

const express = require("express");const app = express();const router = express.Router();// 路由级中间件router.use((req, res, next) => {console.log("This is a router-level middleware");next();});router.get("/", (req, res) => {res.send("Hello from the router!");});app.use("/router", router);app.listen(3000, () => {console.log("Server running on port 3000");});

3. 错误处理中间件

专门用来捕获和处理应用程序里的错误。错误处理中间件有四个参数 `(err, req, res, next)`,在调用 `next(err)` 传递错误时会被触发。

const express = require("express");const app = express();app.get("/", (req, res, next) => {const err = new Error("Something went wrong");next(err);});// 错误处理中间件app.use((err, req, res, next) => {console.error(err);res.status(500).send("Internal Server Error");});app.listen(3000, () => {console.log("Server running on port 3000");});

4. 内置中间件

Express 自身提供了一些内置中间件,能够实现常见的功能。例如 `express.static()` 可用于提供静态文件服务,`express.json()` 用于解析 JSON 格式的请求体,`express.urlencoded()` 用于解析 `x-www-form-urlencoded` 格式的请求体。

const express = require("express");const app = express();// 使用 express.static 提供静态文件服务app.use(express.static("public"));// 使用 express.json 解析 JSON 请求体app.use(express.json());app.post("/data", (req, res) => {console.log(req.body);res.send("Data received");});app.listen(3000, () => {console.log("Server running on port 3000");});

5. 第三方中间件

由社区开发和维护,能为 Express 应用增添额外的功能。比如 `body-parser` 用于解析请求体,`morgan` 用于记录请求日志,`cookie-parser` 用于解析 Cookie。

const express = require("express");const app = express();const morgan = require("morgan");const bodyParser = require("body-parser");// 使用 morgan 记录请求日志app.use(morgan("dev"));// 使用 body-parser 解析请求体app.use(bodyParser.json());app.post("/submit", (req, res) => {console.log(req.body);res.send("Form submitted successfully");});app.listen(3000, () => {console.log("Server running on port 3000");});

二、按执行顺序分类

1. 前置中间件

在路由处理函数之前执行,主要用于对请求进行预处理,像验证请求参数、解析请求体、进行身份验证这类操作。

2. 后置中间件

在路由处理函数之后执行,一般用于对响应进行处理,比如设置响应头、格式化响应数据等。

三、按是否异步分类

1. 同步中间件

同步执行代码,不会使用异步操作(如 `Promise`、`async/await`)。当中间件执行完其逻辑后,会立即调用 `next()` 函数将控制权传递给下一个中间件或路由处理函数。

2. 异步中间件

包含异步操作,例如数据库查询、文件读取、网络请求等。在异步中间件里,需要使用 `async/await` 或者回调函数来处理异步操作,确保在异步操作完成后再调用 `next()` 函数。

const express = require("express");const app = express();// 异步中间件示例app.use(async (req, res, next) => {try {// 模拟异步操作await new Promise((resolve) => setTimeout(resolve, 1000));console.log("Async middleware executed");next();} catch (err) {next(err);}});app.get("/", (req, res) => {res.send("Hello, World!");});app.listen(3000, () => {console.log("Server running on port 3000");});

http://www.dtcms.com/wzjs/471964.html

相关文章:

  • 周期购那个网站做的比较好seo推广方案
  • 做电影网站怎么盈利太原网站制作优化seo公司
  • 寄生虫网站怎么做广告sem是什么意思
  • 重庆网站seo什么意思百度人工客服24小时
  • 建筑公司转让seo技术推广
  • 做网站优化价格怎样做公司网站推广
  • 北京国互网网站建设公司百度推广技巧方法
  • 政府部门门户网站建设方案百度竞价开户流程
  • 定制一个企业网站多少钱流程优化
  • 怎么把网站放到阿里云网络营销形式
  • 做爰插b网站优化网站首页
  • wordpress iis php长沙网站优化推广方案
  • 山东大学青岛校区建设指挥部网站seo软件定制
  • 西安东郊做网站推广竞价托管费用
  • 哪个网站可以接任务做兼职百度投诉中心入口
  • 建造免费网站新手如何自己做网站
  • 绍兴网站制作套餐网络推广内容
  • 宝安附近公司做网站建设哪家效益快优化网站标题和描述的方法
  • 网站开发使用软件环境关键词指数
  • 做网站大概需要几步网络推广营销公司
  • 网站报价表怎么做搜狗站长工具平台
  • 宁乡小程序开发游戏优化是什么意思
  • 软件开发网站能做seo吗市场营销策划公司
  • web前端开发的意义seo优化seo外包
  • 易语言可以做网站管理系统吗百度搜索引擎的功能
  • 公司网站关键词搜索公司建网站多少钱
  • 如何建设简单网站深圳搜索排名优化
  • 网站导航html手机金融界网站
  • 电子商务网站建设相关职位谷歌浏览器 官网下载
  • 2008系统如何做网站seo优化教程自学网