Next.js supports modern browsers with zero configuration.
If you would like to target specific browsers or features, Next.js supports Browserslist configuration in your package.json file. Next.js uses the following Browserslist configuration by default:
{
"browserslist": [
"chrome 64",
"edge 79",
"firefox 67",
"opera 51",
"safari 12"
]
}We inject widely used polyfills, including:
whatwg-fetch and unfetch.url package (Node.js API).object-assign, object.assign, and core-js/object/assign.If any of your dependencies include these polyfills, they’ll be eliminated automatically from the production build to avoid duplication.
In addition, to reduce bundle size, Next.js will only load these polyfills for browsers that require them. The majority of the web traffic globally will not download these polyfills.
If your own code or any external npm dependencies require features not supported by your target browsers (such as IE 11), you need to add polyfills yourself.
In this case, you should add a top-level import for the specific polyfill you need in your Custom <App> or the individual component.
Next.js allows you to use the latest JavaScript features out of the box. In addition to ES6 features, Next.js also supports:
import() (ES2020)Next.js has built-in TypeScript support. Learn more here.
You can customize babel configuration. Learn more here.
© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/architecture/supported-browsers