nuxt3前端开发以及nuxt3和nuxt2项目的详细差异点
以下是 Nuxt 3 前端开发的详细指南以及与 Nuxt 2 的核心差异总结,涵盖配置、开发模式、API 变化等关键方面:
一、Nuxt 3 前端开发核心要点
1. 项目初始化
# Nuxt 3
npx nuxi init <project-name>
cd <project-name>
npm install
npm run dev# Nuxt 2 (对比)
npx create-nuxt-app <project-name>
变化:
- 使用
nuxi
替代create-nuxt-app
- 默认生成
app.vue
而非纯pages/
结构
2. 路由系统
-
Nuxt 2:
- 自动基于
pages/
目录生成路由 - 需手动配置动态路由 (
_id.vue
)
- 自动基于
-
Nuxt 3:
- 保留
pages/
自动路由,但支持更灵活的方式:
<!-- app.vue --> <template><NuxtPage /> <!-- 路由出口 --> </template>
- 动态路由支持更简洁:
pages/users/[id].vue # 路径:/users/:id
- 保留
3. 数据获取
方法 | Nuxt 2 | Nuxt 3 (Composition API) |
---|---|---|
服务端数据 | asyncData | useAsyncData + $fetch |
客户端数据 | fetch 钩子 | useFetch |
示例代码 | async asyncData({ $axios }) { return { data: await $axios.get('/api') } } | const { data } = await useFetch('/api') |
关键改进:
- 移除
@nuxtjs/axios
,推荐使用原生$fetch
或ofetch
- 自动处理请求去重和缓存
4. 状态管理
-
Nuxt 2:
- 默认集成 Vuex