nuxt内置函数

123 阅读2分钟

当然可以!给你来一份超实用的 🚀 Nuxt 3 常用内置函数 + 组件速查表,适合贴墙上做速查 👇


🧩 Nuxt 3 内置组件速查表

组件名用途说明
<NuxtPage />渲染当前路由页面通常放在 layouts/default.vue 中
<NuxtLayout />切换布局<NuxtLayout name="custom" /> 使用 layouts/custom.vue
<NuxtLink />路由跳转支持 prefetch、SSR 优化  关于我们
<ClientOnly>仅客户端渲染组件用于仅浏览器可用的库(如 swiper、chart) 
<NuxtErrorBoundary>捕获错误包裹组件以局部处理错误
<NuxtLoadingIndicator>显示页面加载进度条nuxt.config.ts 启用或自定义## 🌈 <NuxtLoadingIndicator>

作用:内置页面加载进度条(仅 SPA 模式下生效)

开启方式:

// nuxt.config.ts
export default defineNuxtConfig({
  loadingIndicator: {
    name: 'default', // or 'circle', 'chasing-dots', etc.
    color: '#00c58e',
    background: '#000',
  }
})

然后无需手动引入,它会自动显示。 | <NuxtImg> / <NuxtPicture> | 图像优化(需 Image 模块) | 自动 lazyload、尺寸优化 |


🧠 Nuxt 3 内置 Composables(在 <script setup> 中直接用)

名称功能举例
useRoute()当前路由信息const route = useRoute()
useRouter()控制导航router.push('/about')
useState()共享响应式状态const count = useState('count', () => 0)
useAsyncData()异步数据 + 缓存const { data } = await useAsyncData('users', fetchUsers)
useFetch()Fetch 数据请求const { data } = await useFetch('/api/posts')
useHead()设置页面 <head> 信息useHead({ title: 'My Page' })
useSeoMeta()设置 SEO 标签自动处理 charset, og 等
useRuntimeConfig()读取 nuxt.config.ts 中 runtime configconfig.public.apiBase
useRouteParams()获取路由参数(Nuxt 3.2 新)const { slug } = useRouteParams()

⚙️ Nuxt 特有文件/目录功能速查

文件 / 目录功能
pages/自动路由
layouts/页面布局(default.vuecustom.vue
components/自动注册组件
composables/自动导入 hooks
plugins/插件注册,如 piniaaxiosdayjs 等
middleware/中间件(路由拦截)
app.vueNuxt 应用入口(包含布局、全局样式)
nuxt.config.ts所有 Nuxt 配置
assets/静态样式、图标、字体等资源
public/静态资源,映射到 / 路径(不会被构建)

🛠️ 通用工具函数(nuxt-kit)

工具用途
defineNuxtConfig()定义 Nuxt 配置(TS 支持)
defineNuxtPlugin()注册插件
definePageMeta()设置页面级 meta,如中间件、标题
defineNuxtRouteMiddleware()定义路由守卫

🎁 Bonus:推荐组合

  • 状态管理:pinia
  • 动画:@vueuse/motion + framer-motion
  • 请求:useFetch() / axios 插件
  • SSR安全设置:useRequestHeaders() / useCookie()
  • 多主题切换:useState('theme') + :class="theme"