支持的浏览器
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
我们注入广泛使用的 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)
 - 对象 Rest/Spread 属性 (ES2018)
 - 动态 
import()(ES2020) - 可选链 (ES2020)
 - 空值合并 (ES2020)
 - 类字段 和静态属性 (ES2022)
 - 以及更多!
 
TypeScript 功能
Next.js 内置 TypeScript 支持。在此了解更多。
自定义 Babel 配置(高级)
你可以自定义 babel 配置。在此了解更多。