i18nextとreact-i18nextをNext.jsのApp Router、Pages Router、middlewareに組み込む翻訳ツールキット。
fastify/fastify-nextjs
既存のFastifyサーバーでReactのサーバーサイドレンダリングによるNext.jsページの表示を可能にするFastifyプラグイン。
- スター
- 557
- フォーク
- 63
- 未解決の Issue
- 6
- 最終コミット
- 3 日前
これは何?
@fastify/nextjsは、既存のFastifyサーバーにNext.jsのページ表示機能を追加するFastifyプラグインです。Next.jsの内部Webサーバーを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`ルートAPIを追加し、Next.jsページを表示できます。
- 02カスタムのレンダリングハンドラーに対応し、`reply.nextRender`と`reply.nextRenderError`ヘルパーを利用できます。
- 03`_next/*`アセットをデフォルトで配信し、必要に応じて無効にできます。
- 04負荷に応じたサーキットブレーカー機能をオプションで利用できます。
- 05ほかのFastifyプラグインのカスタムプロパティをリクエストに追加し、ページから利用できます。
ユースケース
- 既存のFastify APIサービスに、サーバーサイドレンダリングされたReactページを追加する。
- FastifyのルートとNext.jsのフロントエンドを、1つのNode.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 独自の Web サーバーを置き換えるものではありません。
- 大規模な Next.js プロジェクトでは、開発中に Fastify プラグインのデフォルトのタイムアウトである 10 秒を超えることがあり、その場合は pluginTimeout を長くする必要があります。
トピック
よくある質問
- fastify-nextjs とは?
- 既存のFastifyサーバーでReactのサーバーサイドレンダリングによるNext.jsページの表示を可能にするFastifyプラグイン。 @fastify/nextjsは、既存のFastifyサーバーにNext.jsのページ表示機能を追加するFastifyプラグインです。Next.jsの内部WebサーバーをFastifyに置き換えるのではなく、Fastifyインスタンスに`next`ルートAPIを公開し、指定したルートでNext.jsページを表示します。
- fastify-nextjs は無料で使えますか?ライセンスは?
- fastify-nextjs は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- fastify-nextjs は今もメンテナンスされていますか?
- 活発にメンテナンス中。fastify-nextjs の最終コミットは 2026年11月4日 です。
- fastify-nextjs は何に使えますか?
- 既存のFastify APIサービスに、サーバーサイドレンダリングされたReactページを追加する。 FastifyのルートとNext.jsのフロントエンドを、1つのNode.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 Webフレームワーク。
Wattは、コンテナ環境でCPU利用効率、スケーリング、可観測性を高めるため、あらゆるNode.jsアプリをworker threadで実行するアプリケーションサーバーです。