Nuxt 4.6 发布,最大的变化是内置了全新的 @nuxt/cli v4 作为依赖打包进来。
CLI 的几个实质改进
- 交互式终端界面。启动过程不再是刷一堆日志,而是有结构的状态展示。
- 每个模块的启动耗时单独统计。定位“到底哪个模块拖慢了启动”这件事以前靠猜,现在直接有数。
- 锁文件机制,让多个开发进程能协调。同时跑 dev、跑测试、跑 storybook 时不再互相抢资源。
- 首屏快 6.6 倍,安装体积小 73%。
为什么 CLI 值得单独做一个大版本 框架层面的性能优化这几年越来越集中在构建和启动环节。跑起来之后的性能各家差距不大,但开发者的日常体感几乎全在冷启动和热更新上。
一个中型 Nuxt 项目冷启动动辄十几秒,一天重启几十次,累计的时间损耗很可观。6.6 倍的提升直接改善的是开发环境体验,不是线上指标——但对团队效率的影响反而更大。
升级路径 @nuxt/cli 是作为打包依赖引入的,正常升级不会破坏现有配置。但有几件事建议先做:
- 检查 package.json 里有没有显式引用旧版 CLI 的地方,有的话清掉。
- CI 环境是非交互的,确认新 CLI 在 TTY 缺失时的降级行为。交互式界面在这种环境下必须能自动退化成普通日志输出。
- 锁文件机制在 CI 里如果并行跑多个任务,需要确认锁的粒度。别让并行任务互相阻塞。
一个实用做法 用新的模块启动耗时统计跑一次你的项目,导出各模块耗时,找出前三名。通常会有意外——某个你以为很轻的模块可能是启动瓶颈。这个数据以前拿不到,现在直接读就行。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。