支援的瀏覽器
Next.js 無需配置即可支援現代瀏覽器。
- Chrome 64+
- Edge 79+
- Firefox 67+
- Opera 51+
- Safari 12+
Browserslist
如果您需要針對特定瀏覽器或功能,Next.js 支援在 package.json
檔案中設定 Browserslist。Next.js 預設使用以下 Browserslist 配置:
Polyfills
我們會注入廣泛使用的 polyfills,包括:
- fetch() — 取代:
whatwg-fetch
和unfetch
。 - URL — 取代:
url
套件 (Node.js API)。 - Object.assign() — 取代:
object-assign
、object.assign
和core-js/object/assign
。
如果您的任何依賴項包含這些 polyfills,它們會在生產構建中自動被移除,以避免重複。
此外,為了減少打包體積,Next.js 只會為需要這些 polyfills 的瀏覽器載入它們。全球大部分網路流量不會下載這些 polyfills。
自訂 Polyfills
如果您的程式碼或任何外部 npm 依賴項需要目標瀏覽器不支援的功能(例如 IE 11),您需要自行新增 polyfills。
在這種情況下,您應該在自訂 <App>
或個別元件中為特定 polyfill 新增頂層導入。
JavaScript 語言功能
Next.js 讓您可以開箱即用最新的 JavaScript 功能。除了 ES6 功能外,Next.js 還支援:
- Async/await (ES2017)
- 物件其餘/展開屬性 (ES2018)
- 動態
import()
(ES2020) - 可選鏈結 (ES2020)
- 空值合併運算子 (ES2020)
- 類別欄位 和 靜態屬性 (ES2022)
- 以及更多!
TypeScript 功能
Next.js 內建 TypeScript 支援。了解更多。
自訂 Babel 配置 (進階)
您可以自訂 babel 配置。了解更多。