Next.js 开发指南 路由篇 | 路由处理程序和中间件
import { NextResponse, NextRequest } from 'next/server';
// 自定义中间件示例
export async function middleware(req, ev) {
// 在这里可以添加自定义逻辑来处理请求
if (req.nextUrl.pathname === '/example') {
// 如果是访问 /example 路径,则返回特定响应
return NextResponse.json({ message: 'Hello from middleware!' });
}
// 如果不是 /example 路径,则继续处理请求
return NextResponse.next();
}
// 自定义路由处理器示例
export async function route(req) {
// 在这里可以添加自定义逻辑来处理特定的路由
if (req.nextUrl.pathname === '/example') {
// 如果是访问 /example 路径,则返回特定页面或数据
return NextResponse.json({ message: 'Hello from route handler!' });
}
// 如果不是 /example 路径,则返回 404 Not Found
return NextResponse.notFound();
}
在这个例子中,我们定义了一个自定义的中间件和一个路由处理器。中间件可以拦截并处理请求,而路由处理器则处理特定的路由。这两个函数都可以用来实现访问控制、参数解析、内容返回等功能。
评论已关闭