vue2-best-practices
4
总安装量
3
周安装量
#53548
全站排名
安装命令
npx skills add https://github.com/protagonistss/ithinku-plugins --skill vue2-best-practices
Agent 安装分布
opencode
3
claude-code
3
codex
2
windsurf
1
amp
1
Skill 文档
Vue 2 Best Practices (Legacy & Maintenance)
ð æè½æ ¸å¿ï¼ç¨³å®ç»´æ¤ä¸å¹³æ»è¿æ¸¡
æ¬æè½æ¨å¨æå¯¼å¼åè ç»´æ¤ç°æç Vue 2 项ç®ï¼ç¼åæ¸ æ°ãå¯é¢æµç Options API 代ç ï¼å¹¶ä¸ºæªæ¥è¿ç§»å° Vue 3 ååå¤ã æ ¸å¿ååï¼è§èå Options APIãè°¨æ ä½¿ç¨ Mixinsãç»ä»¶è§£è¦ã
ð§ Core Principles (æ ¸å¿åå)
1. Options API è§è
- Order of Options: éµå¾ªä¸è´çé项顺åºï¼
namecomponentspropsdatacomputedwatchlifecycle hooks(created, mounted, etc.)methods
- Data Function:
dataå¿ é¡»å§ç»æ¯ä¸ä¸ªè¿å对象ç彿°ï¼é²æ¢ç»ä»¶å®ä¾é´ç¶ææ±¡æã - Props Validation: å§ç»ä¸º props å®ä¹è¯¦ç»çç±»åéªè¯åé»è®¤å¼ã
2. é»è¾å¤ç¨ (Logic Reuse)
- Mixins:
- è¦å: å°½éåå° Mixins ç使ç¨ãå®ä»¬ä¼å¯¼è´å½åå²çªåéå¼ä¾èµï¼ä½¿ä»£ç é¾ä»¥çè§£ã
- æ¿ä»£: å¦æå¿ é¡»å¤ç¨é»è¾ï¼èèä½¿ç¨ HOC (Higher Order Components) æ Scoped Slots (ä½ç¨åææ§½)ã
- è§è: å¦æä½¿ç¨ Mixinï¼å¿ é¡»å ä¸æç¡®çåç¼ï¼å¹¶å¨ç»ä»¶æ³¨éä¸è¯´ææ¥æºã
- Utility Functions: å°çº¯é»è¾æå为ç¬ç«ç JS æä»¶å¯¼å ¥ä½¿ç¨ã
3. ç»ä»¶éä¿¡
- Event Bus:
- è¦å: é¿å
滥ç¨å
¨å± Event Bus (
new Vue()) è¿è¡éä¿¡ï¼è¿ä¼å¯¼è´äºä»¶æµé¾ä»¥è¿½è¸ªã - æ¿ä»£: ä½¿ç¨ Vuex æ Props/Events è¿è¡ç¶åéä¿¡ã
- è¦å: é¿å
滥ç¨å
¨å± Event Bus (
- Props Down, Events Up: ä¸¥æ ¼éµå®ååæ°æ®æµååãä¸è¦ç´æ¥ä¿®æ¹ propã
ð§© ç¶æç®¡ç (Vuex)
- Vuex 3:
- Modules: å§ç»ä½¿ç¨ Namespaced Modules (
namespaced: true) æ¥ç»ç» Storeã - MapHelpers: 使ç¨
mapState,mapGetters,mapActionsç®åç»ä»¶å çè°ç¨ã - Mutations: å¿ é¡»æ¯åæ¥çã弿¥é»è¾æ¾å¨ Actions ä¸ã
- Strict Mode: å¨å¼åç¯å¢å¼å¯ä¸¥æ ¼æ¨¡å¼ï¼ç¡®ä¿ç¶æåªè½éè¿ mutations ä¿®æ¹ã
- Modules: å§ç»ä½¿ç¨ Namespaced Modules (
ð« 忍¡å¼ (Anti-Patterns)
- â Arrow Functions in Methods: ä¸è¦å¨
methodsæçå½å¨æé©åä¸ä½¿ç¨ç®å¤´å½æ°ï¼è¿ä¼å¯¼è´thisæåé误ã - â Direct DOM Manipulation: é¿å
ä½¿ç¨ jQuery æç´æ¥æä½ DOMï¼å§ç»éè¿æ°æ®é©±å¨è§å¾ã妿å¿
é¡»æä½ï¼ä½¿ç¨
refã - â Over-reliance on Watchers: ä¼å
使ç¨
computed屿§æ¥å¤çæ´¾çæ°æ®ï¼è䏿¯æ»¥ç¨watchã - â Implicit Global Variables: é¿å
ç´æ¥å¨
Vue.prototypeä¸æè½½è¿å¤å ¨å±åéã
ð è¿ç§»åå¤ (Migration Readiness)
- Avoid Deprecated Features: åæ¢ä½¿ç¨å³å°å¨ Vue 3 ç§»é¤çç¹æ§ï¼å¦ Filters, Inline Templates,
$listenersï¼ã - Composition API Plugin: å¨ Vue 2.7+ ä¸ï¼å°è¯å¼å
¥ Composition API (
<script setup>)ï¼ä»¥ä¾¿éæ¥è¿æ¸¡å° Vue 3 çåæ³ã
ð¨ å¸¸ç¨æä»¤ç¤ºä¾
# è§èå Options 顺åº
/vue-coder éæ°æåè¿ä¸ªç»ä»¶çé项顺åºï¼ä½¿å
¶ç¬¦åæä½³å®è·µã
# ç§»é¤ Mixin
/vue-coder åæè¿ä¸ªç»ä»¶ä½¿ç¨ç Mixinï¼å°è¯å°å
¶éæä¸ºæ®éç彿°å¯¼å
¥æ HOCã
# Vuex 模åå
/vue-coder å°è¿ä¸ªåºå¤§ç Vuex store æå为ç¬ç«çå½åç©ºé´æ¨¡åã