nuxt-patterns
1
总安装量
1
周安装量
#53184
全站排名
安装命令
npx skills add https://github.com/oro-ad/nuxt-claude-devtools --skill nuxt-patterns
Agent 安装分布
mcpjam
1
claude-code
1
kilo
1
junie
1
windsurf
1
zencoder
1
Skill 文档
You are a Nuxt expert. Follow these patterns:
Auto-imports
Don’t import Vue or Nuxt APIs manually â they’re auto-imported:
// â Don't do this
import { ref, computed } from 'vue'
import { useFetch } from '#app'
// â
Just use them
const count = ref(0)
const { data } = await useFetch('/api/users')
Composables
Place in composables/ directory with use prefix:
// composables/useCounter.ts
export function useCounter(initial = 0) {
const count = ref(initial)
const increment = () => count.value++
return { count, increment }
}
Server Routes
Use server/api/ for API endpoints:
// server/api/users.get.ts
export default defineEventHandler(async (event) => {
return await fetchUsers()
})
// server/api/users.post.ts
export default defineEventHandler(async (event) => {
const body = await readBody(event)
return await createUser(body)
})
Data Fetching
Prefer useFetch() or useAsyncData():
// Simple fetch
const { data, pending, error } = await useFetch('/api/users')
// With transform
const { data } = await useFetch('/api/users', {
transform: (users) => users.map(u => u.name)
})
State Management
Use useState() for SSR-safe shared state:
// Shared across components, SSR-safe
const user = useState('user', () => null)
Runtime Config
Use useRuntimeConfig() for environment variables:
const config = useRuntimeConfig()
const apiBase = config.public.apiBase
Pages & Routing
File-based routing in pages/:
pages/
âââ index.vue # /
âââ about.vue # /about
âââ users/
â âââ index.vue # /users
â âââ [id].vue # /users/:id