vue3-best-practices

📁 eva813/vue3-skills 📅 2 days ago
1
总安装量
1
周安装量
#45545
全站排名
安装命令
npx skills add https://github.com/eva813/vue3-skills --skill vue3-best-practices

Agent 安装分布

amp 1
opencode 1
cursor 1
kimi-cli 1
github-copilot 1

Skill 文档

Vue 3 Best Practices

Comprehensive performance optimization and development guide for Vue 3 applications. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Writing new Vue 3 components or composables
  • Implementing reactive data and computed properties
  • Reviewing code for performance issues
  • Refactoring from Vue 2 to Vue 3
  • Optimizing bundle size or load times
  • Working with state management (Pinia/Vuex)
  • Implementing async operations in components

Rule Categories by Priority

Priority Category Impact Prefix
1 Reactivity Performance CRITICAL reactivity-
2 Component Optimization CRITICAL component-
3 Bundle Size & Loading HIGH bundle-
4 Composition API MEDIUM-HIGH composition-
5 Template Performance MEDIUM template-
6 State Management MEDIUM state-
7 Lifecycle Optimization LOW-MEDIUM lifecycle-
8 Advanced Patterns LOW advanced-

Quick Reference

1. Reactivity Performance (CRITICAL)

  • reactivity-ref-vs-reactive – Use ref for primitives, reactive for objects
  • reactivity-shallow-ref – Use shallowRef for large immutable objects
  • reactivity-computed-caching – Leverage computed property caching
  • reactivity-watch-vs-watcheffect – Choose appropriate watcher
  • reactivity-unref-performance – Minimize unref calls in hot paths
  • reactivity-readonly-immutable – Use readonly for immutable data

2. Component Optimization (CRITICAL)

  • component-async-components – Use defineAsyncComponent for heavy components
  • component-functional – Use functional components for simple presentational logic
  • component-keep-alive – Cache expensive components with keep-alive
  • component-lazy-hydration – Implement lazy hydration for non-critical components
  • component-prop-validation – Use efficient prop validation
  • component-emit-performance – Optimize event emissions

3. Bundle Size & Loading (HIGH)

  • bundle-tree-shaking – Structure imports for optimal tree-shaking
  • bundle-dynamic-imports – Use dynamic imports for code splitting
  • bundle-plugin-imports – Use unplugin-auto-import for better DX
  • bundle-lodash-imports – Import lodash functions individually
  • bundle-moment-alternatives – Use day.js instead of moment.js
  • bundle-icons-optimization – Optimize icon imports and usage

4. Composition API (MEDIUM-HIGH)

  • composition-script-setup – Prefer for better performance
  • composition-composables-reuse – Extract reusable logic into composables
  • composition-provide-inject – Use provide/inject for dependency injection
  • composition-expose-selectively – Expose only necessary properties
  • composition-reactive-transform – Use reactive transform where appropriate
  • composition-auto-import – Configure auto-imports for better DX

5. Template Performance (MEDIUM)

  • template-v-once – Use v-once for static content
  • template-v-memo – Use v-memo for expensive list rendering
  • template-key-optimization – Optimize v-for keys for performance
  • template-conditional-rendering – Choose v-if vs v-show appropriately
  • template-slot-performance – Optimize slot usage and scoped slots
  • template-directive-optimization – Create efficient custom directives

6. State Management (MEDIUM)

  • state-pinia-optimization – Optimize Pinia store structure
  • state-store-composition – Use store composition patterns
  • state-persistence – Implement efficient state persistence
  • state-normalization – Normalize complex state structures
  • state-subscription – Optimize state subscriptions
  • state-devtools – Configure devtools for debugging

7. Lifecycle Optimization (LOW-MEDIUM)

  • lifecycle-cleanup – Properly cleanup resources in onUnmounted
  • lifecycle-async-setup – Handle async operations in setup
  • lifecycle-watchers-cleanup – Clean up watchers and effects
  • lifecycle-dom-access – Access DOM safely in lifecycle hooks
  • lifecycle-ssr-considerations – Handle SSR lifecycle differences

8. Advanced Patterns (LOW)

  • advanced-teleport-usage – Use Teleport for portal patterns
  • advanced-suspense-async – Implement Suspense with async components
  • advanced-custom-renderer – Create custom renderers when needed
  • advanced-compiler-macros – Use compiler macros effectively
  • advanced-plugin-development – Develop efficient Vue plugins

Framework Integration

Vite Integration

  • Utilize Vite’s fast HMR and build optimizations
  • Configure proper chunk splitting strategies
  • Use Vite plugins for Vue-specific optimizations

TypeScript Integration

  • Leverage Vue 3’s improved TypeScript support
  • Use proper type definitions for better DX
  • Configure TypeScript for optimal build performance

Testing Integration

  • Use Vue Test Utils with Composition API
  • Implement efficient component testing strategies
  • Optimize test performance and reliability

How to Use

Read individual rule files for detailed explanations and code examples:

rules/reactivity-ref-vs-reactive.md
rules/component-async-components.md
rules/composition-script-setup.md

Each rule file contains:

  • Brief explanation of why it matters
  • Incorrect Vue 3 code example with explanation
  • Correct Vue 3 code example with explanation
  • Performance impact and measurements
  • Additional context and Vue 3-specific considerations

Migration from Vue 2

Special considerations for migrating from Vue 2:

  • Composition API vs Options API patterns
  • Reactivity system changes and optimizations
  • Component definition and registration updates
  • Event handling and lifecycle changes

Performance Monitoring

Tools and techniques for monitoring Vue 3 performance:

  • Vue DevTools integration
  • Performance profiling with browser tools
  • Bundle analysis and optimization
  • Runtime performance monitoring