1.2-middleware
中间件
middleware,中间件会在请求完成之前执行。你可以根据请求,去重写,重定向,更改请求或者响应头,或者直接响应。
中间件在路由渲染之前执行,在实现自定义服务端逻辑尤其有效,比如用户验证,登录,或者处理重定向。
文件必须导出一个方法,默认导出 default
或者命名为 middleware
,多个中间件在一个文件中是不支持的
// src/middleware.js
import { NextResponse, NextRequest } from 'next/server'
// 如果内部使用了 await,可以使用 async 装饰
export function middleware(request: NextRequest) {
return NextResponse.redirect(new URL('/home', request.url))
}
// config 为可选项
export const config = {
matcher: '/about/:path*',
}