Data & analysis

Nuxt Project Standard

Try it

Use when creating or reviewing Nuxt 3 projects, file routes, pages, layouts, SSR/SSG/SPA behavior, Nuxt data fetching, route middleware, plugins, modules, server routes, or Nuxt-specific Vue 3 conventions. For generic Vue component architecture, apply the project's Vue conventions separately; Chines

What it does

规范 Nuxt 3 项目中 SSR/SSG 渲染模式、组合式 API、自动导入、数据获取、路由中间件和模块插件的工程实践,确保约定式开发和类型安全。

The skill document

Nuxt 3 项目规范

适用于使用 Nuxt 3 + Vue 3 + TypeScript 的仓库。

Purpose

规范 Nuxt 3 项目中 SSR/SSG 渲染模式、组合式 API、自动导入、数据获取、路由中间件和模块插件的工程实践,确保约定式开发和类型安全。

Procedure

  1. 先识别目标属于 Nuxt pages/layouts、渲染模式、数据获取、route middleware、plugin/module 还是 server route。
  2. 明确 SSR / SSG / SPA 选择,避免服务端可执行代码依赖 window 或 document。
  3. 数据获取优先使用 Nuxt 的 useFetch / useAsyncData,并检查水合一致性。
  4. 路由鉴权、redirect 和权限问题与路由保护 workflow 对齐。
  5. 通用 Vue 组件架构问题分流到 Vue 项目 workflow。

项目结构

├── app.vue                    # 根组件
├── nuxt.config.ts              # Nuxt 配置
│
├── pages/                     # 基于文件的路由
│   ├── index.vue               # /
│   ├── login.vue               # /login
│   ├── dashboard/
│   │   ├── index.vue           # /dashboard
│   │   └── users/
│   │       ├── index.vue       # /dashboard/users
│   │       └── [id].vue       # /dashboard/users/:id
│   └── [...slug].vue          # 捕获所有
│
├── layouts/                   # 布局
│   ├── default.vue
│   └── auth.vue
│
├── components/                # 自动导入组件
│   ├── Button/
│   │   └── Button.vue
│   └── AppHeader.vue
│
├── composables/               # 组合式函数(自动导入)
│   ├── useAuth.ts
│   └── useFetch.ts
│
├── server/                    # 服务端 API
│   ├── api/                   # API 路由
│   │   └── users/
│   │       └── index.get.ts
│   ├── middleware/            # 服务端中间件
│   └── utils/                 # 服务端工具
│
├── plugins/                   # 插件
│   └── i18n.client.ts
│
├── middleware/                # 路由中间件
│   └── auth.ts
│
├── public/                    # 静态资源
├── assets/                    # 需构建的资源
└── types/                     # 类型定义

渲染模式

模式配置说明
SSR默认ssr: true
SSGnuxt generate预渲染所有页面
SPAssr: false纯客户端渲染
// nuxt.config.ts
export default defineNuxtConfig({
  ssr: true, // 或 false
});

数据获取

  • useFetch / useAsyncData:服务端 + 客户端,自动去重
  • $fetch:直接请求,适合服务端或一次性调用
  • useLazyAsyncData:不阻塞导航,适合非首屏
  • 避免在 setup 顶层混用同步/异步逻辑导致水合不匹配

路由与布局

  • pages/ 下文件自动生成路由
  • 动态路由:[id].vue、[...slug].vue
  • 布局:layout 选项或 layouts/default.vue 默认
  • 嵌套路由:pages/parent/child.vue 需配合 NuxtPage

中间件

  • middleware/ 下文件自动注册
  • 页面级:definePageMeta({ middleware: ['auth'] })
  • 全局:nuxt.config.ts 的 router.middleware
  • 服务端中间件:server/middleware/

插件与模块

  • 插件:plugins/*.ts,支持 .client、.server 后缀
  • 模块:modules/ 或 node_modules,在 nuxt.config 中 modules: []

Constraints

  • 服务端可访问的代码不要依赖 window、document
  • 使用 useState 共享状态时注意 SSR 序列化
  • 图片使用 NuxtImg,链接使用 NuxtLink
  • 避免在 setup 顶层使用 await 导致阻塞,优先用 useAsyncData / useFetch

Expected Output

  • 页面按 pages/ 约定式路由组织,动态路由正确配置
  • 渲染模式(SSR/SSG/SPA)选择正确,nuxt.config.ts 配置清晰
  • 数据获取使用 useFetch / useAsyncData,自动去重和水合
  • Composables 和组件自动导入正确,服务端/客户端边界清晰

Related skills

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

More from bovinphang

Browse all skills

Generate or edit diagrams, visual assets, and image workflows with reviewable PNG self-checks and bounded self-repair.

by bovinphang9 installs1 stars

Use when creating editable technical diagrams with draw.io / diagrams.net sources, including architecture diagrams, ERD, UML, sequence diagrams, flowcharts, ML model diagrams, official shape lookup, brand symbols, Graphviz auto-layout, codebase structure maps, .drawio validation, or draw.io CLI expo

by bovinphang5 installs

Use when building, reviewing, or improving frontend UI that needs product-specific design direction, design-system generation, Master/Page overrides, distinctive visual identity, anti-generic interface choices, first-screen hierarchy, UI polish, chart UX, interaction states, responsive behavior, or

by bovinphang8 installs

Use when creating or reviewing Next.js 14+ App Router projects, file routes, layouts, server/client component boundaries, SSR/SSG/ISR, streaming, metadata, middleware, server actions, or Next-specific data fetching. For generic client React component architecture, apply the project's React conventio

by bovinphang10 installs1 stars

Use when creating, reviewing, or restructuring frontend monorepos with pnpm workspace, Turborepo, Nx, multi-package dependency boundaries, task orchestration, package naming, or package publishing; Chinese triggers include monorepo, workspace, multi-package.

by bovinphang10 installs1 stars

Use when designing or reviewing React + TypeScript project structure, feature/module boundaries, component architecture, hooks organization, routing composition, state/API/error/styling defaults, or repository-wide React conventions. Prefer narrower skills for forms, data fetching, tests, accessibil

by bovinphang12 installs1 stars