#1. 把 Nuxt 当成“多加了路由的 Vue”
错。Nuxt 本质上是:
- Vue 视图层
- 服务端能力
- 渲染策略
- SEO 体系
- 部署体系
一起打包的应用框架。
#2. 什么都塞进 app.vue
app.vue 是总控,不是垃圾场。
只有真正全局壳子才放这里。
#3. 只有一个布局还强上 layouts/
官方文档已经提示:如果只有单一布局,很多时候直接用 app.vue 更合适。
#4. 在首屏主数据里滥用 $fetch
官方文档明确提醒:单独用 $fetch 做 setup 里的初始数据,可能带来双取与水合问题。
#5. useFetch、useAsyncData 不设稳定 key 就乱复用
复杂场景下,自定义 key 很重要,不然共享缓存与刷新行为容易失控。
#6. 把 composable 当全局状态黑箱
composable 是逻辑复用,不是隐形全局架构。
#7. 插件滥注入
能不用 plugin 的,不要先上 plugin。很多逻辑用 composable 更清楚。
#8. 把 server/api 当“随便塞点接口”
它背后是 Nitro,是未来部署的一部分,不是杂物间。
#9. 全站只会一种渲染模式
现代 Nuxt 的价值之一就是 routeRules 带来的混合渲染,不要还停留在“全 SSR / 全静态”二选一。
#10. SEO 最后再补
Nuxt 的 SEO 系统本来就内建了。最后再补,通常意味着你前面的页面设计和数据流已经写歪了。