
✅ Middleware 생성 방법
기존: /pages/_middleware.ts
Next.js 12.2.0 변경 후: /middleware.ts
(함수는 꼭 export default일 필요는 없다.)
✅ 특정 route에서만 작동하는 Middleware 생성 방법
기존
원하는 route에서 _middleware.ts 생성 후 미들웨어 작성
변경 후
import type { NextRequest, NextFetchEvent } from "next/server";
export function middleware(req: NextRequest, ev: NextFetchEvent) {
console.log(`it works! global middleware!`);
if (req.nextUrl.pathname.startsWith("/chats")) {
console.log(`this is chats ONLY middleware!`);
}
}
Middleware로 유저가 봇이면 차단하는 방법
import { getIronSession } from "iron-session/edge";
import {
type NextRequest,
type NextFetchEvent,
userAgent,
NextResponse,
} from "next/server";
export const middleware = async (req: NextRequest, ev: NextFetchEvent) => {
if (userAgent(req).isBot) {
// 새로운 error 화면을 만들고 그쪽으로 rewrite 시켜줄것
}
'♠️ Next.js 12' 카테고리의 다른 글
| Next.js 12 - Dynamic Imports & Lazy-load Imports & Suspense (0) | 2025.08.06 |
|---|---|
| Next.js 12 - req.url과 req.nextUrl의 차이 (0) | 2025.08.06 |
| Next.js 12 - API Routes (0) | 2025.05.26 |
| Next.js 12 - 시작하기 (2) | 2025.05.26 |
| Next.js 12 - Dynamic Routes (0) | 2025.03.11 |