문서
App Router 사용하기
userAgent

userAgent

userAgent 헬퍼는 Web Request API를 확장하여 요청의 사용자 에이전트 객체와 상호 작용할 수 있는 추가 속성과 메서드를 제공합니다.

middleware.ts
import { NextRequest, NextResponse, userAgent } from "next/server";
 
export function middleware(request: NextRequest) {
  const url = request.nextUrl;
  const { device } = userAgent(request);
  const viewport = device.type === "mobile" ? "mobile" : "desktop";
  url.searchParams.set("viewport", viewport);
  return NextResponse.rewrite(url);
}
middleware.js
import { NextResponse, userAgent } from "next/server";
 
export function middleware(request) {
  const url = request.nextUrl;
  const { device } = userAgent(request);
  const viewport = device.type === "mobile" ? "mobile" : "desktop";
  url.searchParams.set("viewport", viewport);
  return NextResponse.rewrite(url);
}

isBot

요청이 알려진 봇으로부터 온 것인지를 나타내는 불리언 값입니다.

browser

요청에 사용된 브라우저에 대한 정보를 포함하는 객체입니다.

  • name: 브라우저의 이름을 나타내는 문자열 또는 식별할 수 없는 경우 undefined입니다.
  • version: 브라우저의 버전을 나타내는 문자열 또는 undefined입니다.

device

요청에 사용된 기기에 대한 정보를 포함하는 객체입니다.

  • model: 기기의 모델을 나타내는 문자열 또는 undefined입니다.
  • type: 기기의 유형을 나타내는 문자열입니다. console, mobile, tablet, smarttv, wearable, embedded 또는 undefined 중 하나일 수 있습니다.
  • vendor: 기기의 제조업체를 나타내는 문자열 또는 undefined입니다.

engine

브라우저의 엔진에 대한 정보를 포함하는 객체입니다.

  • name: 엔진의 이름을 나타내는 문자열입니다. 가능한 값들은 다음과 같습니다: Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKit 또는 undefined.
  • version: 엔진의 버전을 나타내는 문자열 또는 undefined입니다.

os

운영 체제에 대한 정보를 포함하는 객체입니다.

  • name: OS의 이름을 나타내는 문자열 또는 undefined입니다.
  • version: OS의 버전을 나타내는 문자열 또는 undefined입니다.

cpu

CPU 아키텍처에 대한 정보를 포함하는 객체입니다.

  • architecture: CPU의 아키텍처를 나타내는 문자열입니다. 가능한 값들은 다음과 같습니다: 68k, amd64, arm, arm64, armhf, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, ppc, sparc, sparc64 또는 undefined