サポートされているブラウザ
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"
]
}
ポリフィル
私たちは広く使用されているポリフィルを注入します。これには以下が含まれます。
- fetch() — 置換対象:
whatwg-fetch
およびunfetch
。 - URL — 置換対象:
url
パッケージ (Node.js API)。 - Object.assign() — 置換対象:
object-assign
、object.assign
、およびcore-js/object/assign
。
依存関係にこれらのポリフィルが含まれている場合、重複を避けるために本番ビルドから自動的に削除されます。
さらに、バンドルサイズを削減するために、Next.jsはこれらのポリフィルを必要とするブラウザのみにロードします。世界のWebトラフィックの大部分は、これらのポリフィルをダウンロードしません。
カスタムポリフィル
独自のコードまたは外部npm依存関係が、ターゲットブラウザ(IE 11など)でサポートされていない機能を必要とする場合は、ポリフィルを自分で追加する必要があります。
この場合、カスタム <App>
または個々のコンポーネントに必要な**特定のポリフィル**のトップレベルインポートを追加する必要があります。
JavaScript言語機能
Next.jsでは、最新のJavaScript機能をすぐに使用できます。ES6機能に加えて、Next.jsは以下もサポートしています。
- Async/await (ES2017)
- オブジェクトのレスト/スプレッドプロパティ (ES2018)
- 動的
import()
(ES2020) - オプショナルチェーン (ES2020)
- Null合体演算子 (ES2020)
- クラスフィールド と 静的プロパティ (ES2022)
- など!
TypeScript機能
Next.jsにはTypeScriptのサポートが組み込まれています。詳細はこちら。
Babel設定のカスタマイズ (上級)
Babelの設定をカスタマイズできます。詳細はこちら。
これは役に立ちましたか?