Next.js 12 - Middleware

2025. 8. 6. 12:59·♠️ Next.js 12

Next.js 12

 

✅ 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
'♠️ Next.js 12' 카테고리의 다른 글
  • Next.js 12 - Dynamic Imports & Lazy-load Imports & Suspense
  • Next.js 12 - req.url과 req.nextUrl의 차이
  • Next.js 12 - API Routes
  • Next.js 12 - 시작하기
j2yonghwa
j2yonghwa
Trying to be a fullstack developer 🚀
  • j2yonghwa
    j2yonghwa
    j2yonghwa
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • ⏰ Daily WakaTime (1)
      • 🏖️ 노마드코더 (2)
      • 🍺 Dev Setup (3)
      • 🔭 Tech Info (1)
      • 🚫 Error (1)
      • 📂 라이브러리 (23)
      • ♣️ Next.js 14 (10)
      • ♠️ Next.js 12 (20)
      • 🛸 React Native (12)
      • 🦋 TypeScript (1)
      • 🐍 Python (2)
      • 🌊 TailwindCSS (4)
      • 🧩 SQL (25)
      • 💎 Prisma (5)
      • 🌱 MongoDB (4)
      • 🎯 Redis (1)
      • 🧬 GraphQL (2)
      • 🔥 Firebase (7)
      • 💸 Third-Party Services (2)
      • 🕸️ Web (1)
      • 🏆 코딩테스트 (23)
      • 📙 모딥다 (5)
      • 📗 코테 합격자 되기 -JS- (0)
      • 📘 클린코드 (0)
      • 🍯 꿀팁 🐝 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃헙
  • 공지사항

  • 인기 글

  • 태그

    SQL
    MySQL
    Prisma
    코딩테스트 입문
    자바스크립트
    PostgreSQL
    next.js 14
    모딥다
    API
    Python
    mongoDB
    Firebase
    React Native
    tailwindcss
    react router
    0레벨
    dev setup
    Next.js
    next.js 12
    라이브러리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
j2yonghwa
Next.js 12 - Middleware
상단으로

티스토리툴바