サポートされているブラウザ
Next.jsはモダンブラウザをゼロ設定でサポートしています。
- Chrome 64+
- Edge 79+
- Firefox 67+
- Opera 51+
- Safari 12+
Browserslist
特定のブラウザや機能をターゲットにしたい場合、Next.jsはpackage.json
ファイルでのBrowserslist設定をサポートしています。Next.jsはデフォルトで以下のBrowserslist設定を使用します:
ポリフィル
Next.jsでは広く使われているポリフィルを自動的に注入します。これには以下が含まれます:
- fetch() —
whatwg-fetch
およびunfetch
の代替 - URL —
url
パッケージ(Node.js API)の代替 - Object.assign() —
object-assign
、object.assign
、core-js/object/assign
の代替
依存関係にこれらのポリフィルが含まれている場合、プロダクションビルドでは重複を避けるため自動的に削除されます。
さらに、バンドルサイズを削減するため、Next.jsはこれらのポリフィルを必要なブラウザにのみロードします。グローバルなウェブトラフィックの大部分ではこれらのポリフィルはダウンロードされません。
カスタムポリフィル
あなたのコードや外部npm依存関係がターゲットブラウザ(IE 11など)でサポートされていない機能を必要とする場合、自分でポリフィルを追加する必要があります。
この場合、カスタム<App>
または個々のコンポーネントで、必要な特定のポリフィルをトップレベルでインポートする必要があります。
JavaScript言語機能
Next.jsでは最新のJavaScript機能をすぐに使用できます。ES6機能に加え、Next.jsは以下もサポートしています:
- Async/await (ES2017)
- オブジェクトのRest/Spreadプロパティ (ES2018)
- 動的
import()
(ES2020) - オプショナルチェイニング (ES2020)
- Nullish合体演算子 (ES2020)
- クラスフィールドと静的プロパティ (ES2022)
- その他多数!
TypeScript機能
Next.jsにはTypeScriptサポートが組み込まれています。詳細はこちらをご覧ください。
Babel設定のカスタマイズ(上級者向け)
Babelの設定をカスタマイズできます。詳細はこちらをご覧ください。