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)
我们自动注入了广泛使用的垫片,包括:
fetch() — 替代方案:whatwg-fetch 和 unfetch
URL — 替代方案:Node.js 的 url 包
Object.assign() — 替代方案:object-assign、object.assign 和 core-js/object/assign
如果依赖项中已包含这些垫片,生产构建时会自动去重以避免重复加载。
此外,为减少包体积,Next.js 只会为需要垫片的浏览器加载它们。全球大部分网络流量不会下载这些垫片。
自定义垫片
如果您的代码或外部 npm 依赖需要目标浏览器不支持的功能(如 IE 11),需自行添加垫片。
此时应在自定义
JavaScript 语言特性
Next.js 默认支持最新 JavaScript 特性。除 ES6 功能外,还包括:
Async/await (ES2017)
对象展开/剩余属性 (ES2018)
动态 import() (ES2020)
可选链 (ES2020)
空值合并 (ES2020)
类字段 和 静态属性 (ES2022)
以及其他特性!
TypeScript 特性
Next.js 内置 TypeScript 支持。了解更多
自定义 Babel 配置(高级)
可自定义 Babel 配置。详见此处
pokemmo蛮力在哪学《血源诅咒》如何击败梅高的奶妈以及难点心得?