Next.js は IE11 と全てのモダンブラウザ (Edge, Firefox, Chrome, Safari や Opera など) をサポートしており、設定は不要です。
IE11 の互換性に必要な polyfills を透過的に注入しています。加えて、以下を含んだ広く使われている polyfills も注入します:
whatwg-fetch
と unfetch
のリプレイスurl
package (Node.js API) のリプレイスobject-assign
, object.assign
, core-js/object/assign
のリプレイスこれらの polyfills が依存関係に含まれている場合は、重複を避けるために本番のビルドから自動的に削除されます。
さらに Next.js では、バンドルサイズを小さくするために、これらの polyfills を必要とするブラウザに対してのみ polyfills のロードを実施します。グローバルな Web トラフィックの大部分は、これらの polyfills をダウンロードしません。
クライアント側での fetch()
に加えて、Next.js は Node.js 環境でも fetch()
の polyfills を行います。 サーバー側のコード (例えば getStaticProps
/ getServerSideProps
) では、isomorphic-unfetch
や node-fetch
などの polyfills を使わずに fetch()
を使用できます。
独自のコードや外部の npm 依存関係で、ターゲットブラウザにてサポートされていない機能が必要な場合は、自分自身で polyfills を追加する必要があります。
この場合は、 Custom <App>
または個々のコンポーネントに必要な 特定の polyfill のトップレベルインポートを追加する必要があります。
Next.js では、最新の JavaScript の機能をすぐに利用できます。 ES6 featuresに加えて、下記の機能にも対応しています:
import()
(ES2020)Next.js には TypeScript のビルトインサポートがあります。ここで詳しく学びましょう.
Babel の設定をカスタマイズできます。 ここで詳しく学びましょう.