支持的浏览器

Next.js 开箱即用支持现代浏览器,无需额外配置:

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

Browserslist

如需针对特定浏览器或功能,Next.js 支持在 package.json 中配置 Browserslist。默认使用以下配置:

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

Polyfills

我们自动注入了广泛使用的 polyfill,包括:

如果依赖项已包含这些 polyfill,生产构建时会自动去重以避免重复加载。

此外,为减少包体积,Next.js 只会为需要 polyfill 的浏览器加载它们。全球大部分网络流量不会下载这些 polyfill。

自定义 Polyfill

若您的代码或外部 npm 依赖需要目标浏览器不支持的功能(如 IE 11),需自行添加 polyfill。

此时,应在自定义 <App> 或具体组件中按需导入特定 polyfill

JavaScript 语言特性

Next.js 默认支持最新 JavaScript 特性,除 ES6 功能外还包括:

服务端 Polyfill

除客户端 fetch() 外,Next.js 还在 Node.js 环境中自动 polyfill fetch()(使用与 Node.js 相同的 undici 实现)。您可在服务端代码(如 getStaticProps/getServerSideProps)中直接使用 fetch(),无需额外引入 isomorphic-unfetchnode-fetch

TypeScript 特性

Next.js 内置 TypeScript 支持。了解更多

自定义 Babel 配置(高级)

支持自定义 Babel 配置。了解更多

On this page