Skip to content

什么是中间件

中间件是介于客户端和服务器端之间的一层服务,从字面意思上理解,中间件就是介于两层之 间的一个服务层,它使用中间件可以实现一些特殊的功能。在vite里,中间件就是一些函数,这些函数可以拦截请求,对请求进行处理,或者对响应进行处理。

如何使用自定义中间件

  1. 开启中间件模式
js
import express from 'express'
import { createServer as createViteServer } from 'vite'

async function createServer() {
  const app = express()

  // 以中间件模式创建 Vite 服务器
  const vite = await createViteServer({
    server: { middlewareMode: true },
    appType: 'custom', // 不引入 Vite 默认的 HTML 处理中间件
  })
  // 将 vite 的 connect 实例作中间件使用
  app.use(vite.middlewares)

  app.use('*', async (req, res) => {
    // 由于 `appType` 的值是 `'custom'`,因此应在此处提供响应。
    // 请注意:如果 `appType` 值为 `'spa'` 或 `'mpa'`,Vite 会包含
    // 处理 HTML 请求和 404 的中间件,因此用户中间件应该在
    // Vite 的中间件之前添加,以确保其生效。
  })
}

createServer()
  1. 创建自定义中间件函数
js
function xxx(req,res,next){
    // 此处可以对请求进行处理
    // 此处可以对响应进行处理
    next()
}
  1. 注册中间件
js
    app.use(xxx)