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
Next.js 및 React와 함께 플러그인을 설치합니다
npm i @fastify/nextjs next react react-dom - 2
pages/hello.js에 페이지 파일을 만듭니다
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
ICU 메시지 문법, 로케일별 날짜·숫자 포맷팅, 타입 안전한 번역 훅을 제공하는 Next.js용 국제화(i18n) 라이브러리입니다.
Mux 또는 다른 스토리지 공급자를 통해 업로드, 최적화, CDN 전송을 자동화하는 Next.js 앱용 React 비디오 컴포넌트입니다.
스키마나 코드 생성 없이 서버와 클라이언트 간 타입을 공유하는 TypeScript용 엔드투엔드 타입 안전 API입니다.
플러그인 아키텍처, 스키마 기반 검증, Pino 로깅을 갖춘 빠르고 오버헤드가 적은 Node.js 웹 프레임워크입니다.
Watt는 컨테이너에서 CPU 활용도, 확장성, 관측성을 높이기 위해 모든 Node.js 앱을 워커 스레드에서 실행하는 Node.js 애플리케이션 서버입니다.