Repolode
fastify

fastify/fastify-nextjs

기존 Fastify 서버에서 React 서버 사이드 렌더링으로 Next.js 페이지를 렌더링하는 Fastify 플러그인입니다.

스타
557
포크
63
열린 이슈
6
마지막 커밋
3일 전

어떤 프로젝트인가요?

@fastify/nextjs는 기존 Fastify 서버에 Next.js 페이지 렌더링 기능을 추가하는 Fastify 플러그인입니다. Next.js의 내부 웹 서버를 Fastify로 대체하는 대신, Fastify 인스턴스에 `next` 라우트 API를 제공해 지정한 라우트에서 Next.js 페이지를 렌더링합니다.

Next.js가 초기화될 시간을 확보할 수 있도록 `after` 콜백 안에서 라우트를 선언합니다. 페이지를 직접 렌더링하거나, 플러그인을 등록할 때 사용자 지정 Next.js 옵션을 전달하거나, `reply.nextRender` 또는 `reply.nextRenderError`를 호출하는 사용자 지정 핸들러를 작성할 수 있습니다. `_next/*` 정적 에셋 제공은 기본적으로 활성화되어 있으며, 사용자 지정 전처리를 위해 비활성화할 수 있습니다.

이 플러그인은 @fastify/under-pressure와도 연동됩니다. React 렌더링은 Node.js 이벤트 루프를 차단하므로, 서버 부하가 높을 때 오류를 반환할 수 있습니다. 또한 다른 Fastify 플러그인의 요청 범위 객체를 페이지에서 공유하는 방법과 개발 모드에서 규모가 큰 Next.js 프로젝트에 맞춰 플러그인 타임아웃을 늘리는 방법도 다룹니다.

핵심 기능

  • 01Fastify에 Next.js 페이지 렌더링을 위한 `next` 라우트 API를 제공합니다.
  • 02사용자 지정 렌더링 핸들러와 `reply.nextRender`, `reply.nextRenderError` 헬퍼를 지원합니다.
  • 03기본적으로 `_next/*` 에셋을 제공하며, 이를 비활성화할 수도 있습니다.
  • 04선택적으로 부하 기반 서킷 브레이커 기능을 제공합니다.
  • 05다른 Fastify 플러그인의 사용자 지정 속성을 요청에 연결해 페이지에서 사용할 수 있습니다.

활용 사례

  • 기존 Fastify API 서비스에 서버 렌더링 React 페이지를 추가합니다.
  • 하나의 Node.js 프로세스에서 Fastify 라우트와 함께 Next.js 프런트엔드를 제공합니다.
  • 부하 상태에 따른 오류 응답으로 Next.js를 렌더링하는 Fastify 서버를 과부하로부터 보호합니다.

빠른 시작

  1. 1

    Next.js 및 React와 함께 플러그인을 설치합니다

    npm i @fastify/nextjs next react react-dom
  2. 2

    pages/hello.js에 페이지 파일을 만듭니다

  3. 3

    플러그인을 등록하고 after 콜백 안에서 fastify.next('/hello')를 호출한 다음, 포트 3000에서 listen을 실행합니다

사용 전 알아둘 점

  • Next.js는 플러그인과 함께 설치해야 합니다. 이 플러그인은 기존 Fastify 서버에 Next.js 렌더링을 추가하기 위한 것이며, Next.js 자체 웹 서버를 대체하는 용도가 아닙니다.
  • 규모가 큰 Next.js 프로젝트는 개발 중 Fastify 플러그인의 기본 타임아웃인 10초를 초과할 수 있으므로 pluginTimeout을 더 길게 설정해야 할 수 있습니다.

토픽

자주 묻는 질문

fastify-nextjs은(는) 무엇인가요?
기존 Fastify 서버에서 React 서버 사이드 렌더링으로 Next.js 페이지를 렌더링하는 Fastify 플러그인입니다. @fastify/nextjs는 기존 Fastify 서버에 Next.js 페이지 렌더링 기능을 추가하는 Fastify 플러그인입니다. Next.js의 내부 웹 서버를 Fastify로 대체하는 대신, Fastify 인스턴스에 `next` 라우트 API를 제공해 지정한 라우트에서 Next.js 페이지를 렌더링합니다.
fastify-nextjs은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
fastify-nextjs은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
fastify-nextjs은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. fastify-nextjs의 마지막 커밋은 2026년 11월 4일입니다.
fastify-nextjs은(는) 어디에 사용할 수 있나요?
기존 Fastify API 서비스에 서버 렌더링 React 페이지를 추가합니다. 하나의 Node.js 프로세스에서 Fastify 라우트와 함께 Next.js 프런트엔드를 제공합니다. 부하 상태에 따른 오류 응답으로 Next.js를 렌더링하는 Fastify 서버를 과부하로부터 보호합니다.
fastify-nextjs는 어떻게 설치하나요?
Next.js 및 React와 함께 플러그인을 설치합니다: npm i @fastify/nextjs next react react-dom pages/hello.js에 페이지 파일을 만듭니다 플러그인을 등록하고 after 콜백 안에서 fastify.next('/hello')를 호출한 다음, 포트 3000에서 listen을 실행합니다
fastify-nextjs은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/fastify/fastify-nextjs

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트