サポート対象ブラウザ

Next.jsはモダンブラウザをゼロコンフィグでサポートしています。

  • Chrome 64+
  • Edge 79+
  • Firefox 67+
  • Opera 51+
  • Safari 12+

Browserslist

特定のブラウザや機能をターゲットにしたい場合、Next.jsはpackage.jsonファイルでのBrowserslist設定をサポートしています。Next.jsはデフォルトで以下のBrowserslist設定を使用します:

package.json
{
  "browserslist": [
    "chrome 64",
    "edge 79",
    "firefox 67",
    "opera 51",
    "safari 12"
  ]
}

ポリフィル

Next.jsは以下の広く使われるポリフィルを自動的に注入します:

依存関係にこれらのポリフィルが含まれている場合、重複を避けるためプロダクションビルドから自動的に削除されます。

さらに、バンドルサイズを削減するため、Next.jsはこれらのポリフィルを必要なブラウザに対してのみロードします。グローバルなウェブトラフィックの大部分ではこれらのポリフィルはダウンロードされません。

カスタムポリフィル

自身のコードや外部npm依存関係がターゲットブラウザ(IE 11など)でサポートされていない機能を必要とする場合、自分でポリフィルを追加する必要があります。

この場合、カスタム <App> または個々のコンポーネントで、必要な特定のポリフィルをトップレベルでインポートしてください。

JavaScript言語機能

Next.jsでは最新のJavaScript機能をすぐに使用できます。ES6機能に加え、Next.jsは以下もサポートしています:

サーバーサイドポリフィル

クライアントサイドのfetch()に加え、Next.jsはNode.js環境でまだ利用できない場合にfetch()をポリフィルします。Node.js自体が使用するのと同じ実装であるundiciを使用します。isomorphic-unfetchnode-fetchなどのポリフィルを使用せずに、サーバーコード(getStaticProps/getServerSidePropsなど)でfetch()を使用できます。

TypeScript機能

Next.jsにはTypeScriptサポートが組み込まれています。詳細はこちら

Babel設定のカスタマイズ(上級者向け)

Babel設定をカスタマイズできます。詳細はこちら