Vercel 最近发布了 Next.js 有史以来最大的更新。Next.js 博客。他们引入了很多新功能,但我最喜欢的是Middleware:
“使您能够使用代码而不是配置。这为您在 Next.js 中提供了充分的灵活性,因为您可以在请求完成之前运行代码。根据用户的传入请求,您可以通过重写、重定向、添加标头或甚至流式传输 HTML。”
该问题使用以下结构。
- /pages
index.js
signin.js
- /app
_middleware.js # Will run before everything inside /app folder
index.js
Run Code Online (Sandbox Code Playgroud)
这里的两个重要文件是/app/_middleware.js和/app/index.js。
- /pages
index.js
signin.js
- /app
_middleware.js # Will run before everything inside /app folder
index.js
Run Code Online (Sandbox Code Playgroud)
// /app/_middleware.js
import { NextResponse } from 'next/server';
export function middleware(req, event) {
const res = { isSignedIn: true, session: { firstName: 'something', lastName: 'else' } }; …Run Code Online (Sandbox Code Playgroud) next.js ×1