Nuxt 4.6.0 是一次以工具链为主的发布,最大的变化是内置了新的 @nuxt/cli v4。
CLI v4 带来什么
交互式的 nuxt dev 终端界面,可以直接在终端里看到状态。
每个模块的启动耗时统计,定位慢模块不用再靠猜。
一个锁文件机制,让多个 dev 进程之间能协调,避免同时跑两个 dev 把 .nuxt 目录写乱。
新命令:nuxt curl、nuxt task、nuxt docs。注意 nuxt init 被移除了,新建项目改用 npm create nuxt@latest。
官方给的数字是首屏快 6.6 倍,安装体积小 73%。这两个数字对开发体验的改善是实打实的,尤其是 CI 里跑构建的场景。
nuxt/server 导入
服务端代码现在可以用一套 Web 标准的请求原语,目标是能跨 Nitro v2、Nitro v3 和实验性的 @nuxt/vite-server 跑。
有个坑要注意:这些 helper 跟 h3 v1 不一样。createError 接收 status 和 statusText,header 通过 event.res.headers 设置。不要把自动导入的 h3 helper 和 nuxt/server helper 混用,会报 NUXT_E8012。
会话支持
配置根级的 NUXT_APP_SECRET 之后,可以用 cookie 密封的会话 helper,比如 useSession。这把以前要自己接的会话方案内置了。
类型化 $fetch
基于 fetchdts 重写,避免了大型路由集合上的 TypeScript 实例化超限。通过 experimental.routeTypedFetch 开启。路由多的项目应该开,以前那个报错很难排查。
Vue Vapor 互操作
按组件开启,给组件加 vapor 属性即可,不需要全量切换。这个渐进式设计比一刀切友好得多。
升级注意
Node 要求 ^22.22.3 或 ^24.15.0 或 >=26.0.0。
Nuxt 2 和 @nuxt/bridge 不再支持,Nuxt 3 已 EOL。还在 Nuxt 3 上的项目要规划迁移。
升级命令:npx nuxt upgrade --dedupe。
安全方面也有加固:内部错误路由只对错误渲染提供服务,开发环境的错误报告对远程访问做了范围限制。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。