vue3-best-practices
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 objectsreactivity-shallow-ref– Use shallowRef for large immutable objectsreactivity-computed-caching– Leverage computed property cachingreactivity-watch-vs-watcheffect– Choose appropriate watcherreactivity-unref-performance– Minimize unref calls in hot pathsreactivity-readonly-immutable– Use readonly for immutable data
2. Component Optimization (CRITICAL)
component-async-components– Use defineAsyncComponent for heavy componentscomponent-functional– Use functional components for simple presentational logiccomponent-keep-alive– Cache expensive components with keep-alivecomponent-lazy-hydration– Implement lazy hydration for non-critical componentscomponent-prop-validation– Use efficient prop validationcomponent-emit-performance– Optimize event emissions
3. Bundle Size & Loading (HIGH)
bundle-tree-shaking– Structure imports for optimal tree-shakingbundle-dynamic-imports– Use dynamic imports for code splittingbundle-plugin-imports– Use unplugin-auto-import for better DXbundle-lodash-imports– Import lodash functions individuallybundle-moment-alternatives– Use day.js instead of moment.jsbundle-icons-optimization– Optimize icon imports and usage
4. Composition API (MEDIUM-HIGH)
composition-script-setup– Prefer for better performancecomposition-composables-reuse– Extract reusable logic into composablescomposition-provide-inject– Use provide/inject for dependency injectioncomposition-expose-selectively– Expose only necessary propertiescomposition-reactive-transform– Use reactive transform where appropriatecomposition-auto-import– Configure auto-imports for better DX
5. Template Performance (MEDIUM)
template-v-once– Use v-once for static contenttemplate-v-memo– Use v-memo for expensive list renderingtemplate-key-optimization– Optimize v-for keys for performancetemplate-conditional-rendering– Choose v-if vs v-show appropriatelytemplate-slot-performance– Optimize slot usage and scoped slotstemplate-directive-optimization– Create efficient custom directives
6. State Management (MEDIUM)
state-pinia-optimization– Optimize Pinia store structurestate-store-composition– Use store composition patternsstate-persistence– Implement efficient state persistencestate-normalization– Normalize complex state structuresstate-subscription– Optimize state subscriptionsstate-devtools– Configure devtools for debugging
7. Lifecycle Optimization (LOW-MEDIUM)
lifecycle-cleanup– Properly cleanup resources in onUnmountedlifecycle-async-setup– Handle async operations in setuplifecycle-watchers-cleanup– Clean up watchers and effectslifecycle-dom-access– Access DOM safely in lifecycle hookslifecycle-ssr-considerations– Handle SSR lifecycle differences
8. Advanced Patterns (LOW)
advanced-teleport-usage– Use Teleport for portal patternsadvanced-suspense-async– Implement Suspense with async componentsadvanced-custom-renderer– Create custom renderers when neededadvanced-compiler-macros– Use compiler macros effectivelyadvanced-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