よくある質問

製品利用することはできますか?

https://vercel.com は当初から Next.js で実装されています。

開発経験とエンドユーザーのパフォーマンスの双方にとって満足いくものになったと考えたため、コミュニティに共有することを決めました。

ファイルサイズはどれくらいですか?

クライアントサイドのバンドルサイズはアプリごとに計測されるべきですが、軽量の Next.js アプリであればメインバンドルは gzip 形式で約 65kb に圧縮されています。

webpack の内部設定を変えるにはどうすればいいですか?

Next.js は webpack 設定のオーバーヘッドを無くすように最善を尽くしています。 しかし、より多くの制御を必要とするような高度なケースでは、こちらの webpack 設定のカスタマイズのドキュメントを見てください。

コンパイルされている構文機能は何ですか? それを変更するにはどうしたらいいですか?

V8 を踏襲しています。 V8 は ES6 と async/await をサポートしてきたので Next.js にもコンパイルされています。 V8 はクラスデコレーターをサポートしていないので Next.js でもコンパイルされていません。

もっと知りたい場合は babel 設定のカスタマイズのドキュメントを見てください。

なぜ新しいルーターなのですか? Next.js には以下の特徴があります:
  • ルーティングは事前に知られておく必要はなく、ルートマニフェストを送りません
  • ルーティングは常に遅延読み込みが可能です
データを取得するにはどうすればいいですか?

好きな方法を選ぶことができます。 React コンポーネント内でリモートデータを取得するには、 fetch APISWR のどちらかを使うことができます。 もしくは Next.js 独自のデータ取得メソッドを使って初期データを追加できます。

GraphQL と一緒に使えますか?

使えます! Apollo を使ったサンプル を見てください。

Reduxと一緒に使えますか?

使えます! こちらのサンプル を見てください。 thunk を用いたサンプル もあります。

静的ファイルのために CDN を使うことはできますか?

はい。こちらに詳しく書いてあります。

Next でお気に入りの JavaScript ライブラリやツールを使うことはできますか?

最初のリリース以来、多くの他ライブラリやツールとの併用例がコントリビュートされてきました。 examples ディレクトリで見ることができます。

何から影響を受けて開発されましたか?

私たちが設定した達成目標の多くは、 Guillermo Rauch の 7 principles of Rich Web Applications に記されているものです。

PHP の使いやすさから大きな影響を受けています。 HTML を出力するために PHP を使わなければならない多くの場合において、 Next.js は最適な代替手段になると思っています。

PHP とは違って ES6 モジュールシステムの恩恵を受けることができ、ページ毎にコンポーネントや関数がエクスポートされており、遅延評価やテストのためにそれらを簡単にインポートできます。

手間がかからない React のサーバーサイドレンダリングの選択肢を調査していた時、 Next.js と似た手法を取っている react-page (現在は非推奨)に出会いました。これは React の製作者である Jordan Walke によるものです。