サポートブラウザ
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"
]
}
Polyfills
我々は広く使用されるポリフィルを注入しています。含まれるもの:
- fetch() — 置き換え:
whatwg-fetch
とunfetch
- URL — 置き換え:
url
パッケージ (Node.js API) - Object.assign() — 置き換え:
object-assign
、object.assign
、core-js/object/assign
これらのポリフィルを含む依存関係がある場合、生産ビルドから自動的に削除され、重複を避けます。
さらに、バンドルサイズを減らすために、Next.jsはこれらのポリフィルをそれらを必要とするブラウザだけでロードします。世界的に大多数のWebトラフィックはこれらのポリフィルをダウンロードしません。
Custom Polyfills
もしあなた自身のコードや外部のnpm依存関係が、ターゲットブラウザ(例えばIE 11)でサポートされない機能を必要とする場合、あなた自身でポリフィルを追加する必要があります。
この場合、Custom <App>
または個別のコンポーネントに、必要な特定のポリフィルをトップレベルでインポートする必要があります。
JavaScriptの言語機能
Next.jsは最新のJavaScript機能をそのまま使用できます。ES6の機能に加えて、Next.jsは次の機能をサポートしています:
- Async/await (ES2017)
- Object Rest/Spread Properties (ES2018)
- Dynamic
import()
(ES2020) - Optional Chaining (ES2020)
- Nullish Coalescing (ES2020)
- Class Fields と Static Properties (ES2022)
- その他多数!
TypeScriptの機能
Next.jsには組み込みのTypeScriptサポートがあります。ここで詳しく学んでください.
Babel設定のカスタマイズ(上級)
Babelの設定をカスタマイズできます。ここで詳しく学んでください.