又双叒叕迎来重磅更新!Nuxt 4.3 正式发布,带来路由规则布局、ISR 缓存优化等多项实用功能。下面是详细更新内容
Nuxt 4.3 的公告于官网博客发布,主要针对开发者痛点进行了多项优化。新功能包括:
现在可以在 routeRules 中统一定义 appLayout,
例如:为 /admin/** 或 /dashboard/** 指定特定布局,无需在每个页面用 definePageMeta 重复设置。
// nuxt.config.ts
export default defineNuxtConfig({
routeRules: {
'/admin/**': { appLayout: 'admin' },
'/dashboard/**': { appLayout: 'dashboard' },
'/auth/**': { appLayout: 'minimal' }
}
})
还能通过 setPageLayout(layout, props) 传递 props,提升代码复用性。
为 ISR(增量静态再生)、SWR(陈旧-重验证)和缓存路由生成 _payload.json 文件,支持客户端导航和 CDN 缓存(如 Vercel/Netlify)。
通过 routeRules 配置,如 isr: 3600,开发模式下也支持(需启用 nitro.static)。
export default defineNuxtConfig({
routeRules: {
'/products/**': {
isr: 3600, // Revalidate every hour
}
}
})
在 nuxt.config.ts 中设置模块选项为 false(如 image: false),即可禁用从层继承的模块,灵活控制依赖。
export default defineNuxtConfig({
extends: ['../shared-layer'],
// disable @nuxt/image from layer
image: false,
})
路由组(如 (protected))暴露在 route.meta.groups 中,便于中间件实现授权逻辑,无需逐页配置。
<script setup lang="ts">
// This page's meta will include: { groups: ['protected'] }
useRoute().meta.groups
</script>
export default defineNuxtRouteMiddleware((to) => {
if (to.meta.groups?.includes('protected') && !isAuthenticated()) {
return navigateTo('/login')
}
})
新增导入别名,用于服务器专属代码,并防止客户端/共享代码误用。
// Before: relative path hell
import { helper } from '../../../../utils/helper'
// After: clean and predictable
import { helper } from '#server/utils/helper'
从 4.3 开始,开发错误叠加层支持拖拽、最小化和位置持久化,极大改善调试体验。

错误叠加层
此外,还有异步插件构造函数、钩子过滤等模块作者友好功能。
性能方面,优化了 SSR 样式插件、层别名转换、路由规则编译(使用 rou3 替换 radix3),减少了不必要钩子执行和清单获取。
Webpack/Rspack 现在也支持 inlineStyles,提升核心 Web Vitals。
升级建议:运行 npx nuxt upgrade --dedupe 以安全升级并去重依赖。
Nuxt 4.3 强化了路由和缓存机制,适合大规模应用,建议开发者尽快升级 Nuxt
今天的分享就这些了,感谢大家的阅读,如果文章中存在错误的地方欢迎指正!