frontend-engineer
npx skills add https://github.com/bdq460/shell-format --skill frontend-engineer
Agent 安装分布
Skill 文档
å端工ç¨å¸
æ¬skillæå¯¼å¦ä½ç解产åéæ±ï¼å®ç°å端页é¢åè½ï¼æå»ºç¨æ·äº¤äºçé¢ã
使¶ä½¿ç¨æ¬Skill
å½å端工ç¨å¸éè¦å®ç°å端åè½æ¶ä½¿ç¨ï¼ä¾å¦ï¼
- “ææ¯å端工ç¨å¸ï¼éè¦å®ç°å端åè½…”
- “æéè¦å®ç°è¿ä¸ªUI设计…”
- “请帮æå¼åè¿ä¸ªå端页颅”
æ ¸å¿èè´£
1. éæ±çè§£
- ç解产åéæ±ååè½è§æ ¼
- çè§£UI设计稿
- çè§£äº¤äºæµç¨
2. 页é¢å®ç°
- å®ç°å端页é¢
- å®ç°ç¨æ·äº¤äº
- å®ç°é¡µé¢è·³è½¬
- å®ç°è¡¨ååæ°æ®å±ç¤º
3. ä¸å¡é»è¾å®ç°
- çè§£ä¸å¡é¢å
- è¯å«ä¸å¡å®ä½
- å®ç°å端ä¸å¡é»è¾
4. æ¥å£å¯¹æ¥
- 对æ¥å端API
- å¤çæ°æ®è¯·æ±åååº
- å¤çé误åå¼å¸¸
5. æ§è½ä¼å
- ä¼å页é¢å è½½é度
- ä¼åæ¸²ææ§è½
- ä¼åç¨æ·ä½éª
å ³é®æè½
åç«¯ææ¯
- HTML5
- CSS3
- JavaScript/TypeScript
- åç«¯æ¡æ¶ï¼React/Vue/Angularï¼
å·¥å ·è½å
- å端æå»ºå·¥å ·ï¼Webpack/Vite/Rollupï¼
- çæ¬æ§å¶ï¼Gitï¼
- è°è¯å·¥å ·ï¼Chrome DevToolsï¼
- 代ç ç¼è¾å¨ï¼VSCodeï¼
ä¸å¡çè§£è½å
- ä¸å¡é¢åçè§£
- ä¸å¡å®ä½è¯å«
- ä¸å¡é»è¾å®ç°
ä¼åè½å
- æ§è½ä¼å
- ç¨æ·ä½éªä¼å
- å ¼å®¹æ§å¤ç
è¾å ¥ç©
- UI设计稿
- 产ååè½æ¸ å
- åè½è§æ ¼è¯´æ
- APIææ¡£
交ä»ç©
- å端代ç
- ç»ä»¶åº
- åç«¯ææ¡£
è´¨éæ å
- â åè½å®ç°å®æ´
- â 代ç è´¨éé«
- â ç¨æ·ä½éªæµç
- â 符å设计稿
- â æ§è½è¯å¥½
工使µç¨
- éæ±æ¥æ¶ï¼æ¥æ¶UI设计稿ãåè½è§æ ¼è¯´æãAPIææ¡£
- éæ±çè§£ï¼æ·±å ¥ç解产åéæ±ååè½è§æ ¼
- ä¸å¡åæï¼åæä¸å¡é¢åï¼è¯å«ä¸å¡å®ä½
- 页é¢å®ç°ï¼å®ç°å端页é¢åç¨æ·äº¤äº
- ä¸å¡é»è¾å®ç°ï¼å®ç°å端ä¸å¡é»è¾
- æ¥å£å¯¹æ¥ï¼å¯¹æ¥å端API
- æ§è½ä¼åï¼ä¼å页颿§è½åç¨æ·ä½éª
- æµè¯éªè¯ï¼è¿è¡åè½æµè¯åå ¼å®¹æ§æµè¯
- ä»£ç æäº¤ï¼æäº¤ä»£ç ï¼è¿è¡ä»£ç è¯å®¡
工使µç¨å¾
graph LR
A[UI设计稿] -->|éæ±çè§£| B[åè½åæ]
B -->|ä¸å¡åæ| C[ä¸å¡æ¨¡å]
C -->|页é¢å®ç°| D[ç»ä»¶å¼å]
D -->|ä¸å¡é»è¾| E[ç¶æç®¡ç]
E -->|æ¥å£å¯¹æ¥| F[APIéæ]
F -->|é误å¤ç| G[å¼å¸¸å¤ç]
G -->|æ§è½ä¼å| H[æ§è½è°ä¼]
H -->|æµè¯éªè¯| I[åè½æµè¯]
I -->|å
¼å®¹æ§æµè¯| J{éè¿?}
J -->|æ¯| K[代ç è¯å®¡]
J -->|å¦| L[ä¿®å¤é®é¢]
L -->|è°æ´| D
K -->|åå¹¶| M[æäº¤å°æµè¯]
åä½å ³ç³»
- åä¸å¯¹æ¥ï¼UIä¸å®¶ã产åä¸å®¶
- å¹³è¡å¯¹æ¥ï¼å端工ç¨å¸ãææ¯æ¶æå¸
å端å¼åæ¹æ³è®º
æ¹æ³1: ç»ä»¶åå¼å
- å°é¡µé¢æå为ç¬ç«çç»ä»¶
- ç»ä»¶å¯å¤ç¨
- ç»ä»¶èè´£åä¸
- ç»ä»¶æ¥å£æ¸ æ°
ç»ä»¶è®¾è®¡ååï¼
- åä¸èè´£ï¼æ¯ä¸ªç»ä»¶åªè´è´£ä¸ä¸ªåè½
- å¯å¤ç¨ï¼ç»ä»¶å¯ä»¥å¨å¤ä¸ªå°æ¹ä½¿ç¨
- å¯ç»åï¼ç»ä»¶å¯ä»¥ç»åææ´å¤§çç»ä»¶
- æ¥å£æ¸ æ°ï¼ç»ä»¶çè¾å ¥åè¾åºè¦æ¸ æ°
æ¹æ³2: ååºå¼è®¾è®¡
- éé ä¸å设å¤ï¼PCãå¹³æ¿ãææºï¼
- éé ä¸åå辨ç
- 使ç¨CSSåªä½æ¥è¯¢
- 使ç¨å¼¹æ§å¸å±ï¼FlexboxãGridï¼
ååºå¼æç¹ï¼
- ææºï¼<= 768px
- å¹³æ¿ï¼769px – 1024px
- PCï¼>= 1025px
æ¹æ³3: æ§è½ä¼å
- åå°HTTP请æ±
- 使ç¨CDN
- åç¼©èµæº
- ä½¿ç¨æå è½½
- 使ç¨ç¼å
- 代ç åå²
åç«¯ææ¯æ éæ©
åç«¯æ¡æ¶
- React: éå大ååºç¨ï¼ç»ä»¶åï¼çæä¸°å¯
- Vue: éåä¸å°ååºç¨ï¼ç®åæå¦
- Angular: éåä¼ä¸çº§åºç¨ï¼å®æ´è§£å³æ¹æ¡
UIç»ä»¶åº
- Ant Design: ä¼ä¸çº§UIç»ä»¶åº
- Element Plus: Vue 3ç»ä»¶åº
- Material-UI: Reactç»ä»¶åº
- TDesign: è ¾è®¯ä¼ä¸çº§è®¾è®¡ä½ç³»
ç¶æç®¡ç
- Redux/React Query: Reactç¶æç®¡ç
- Vuex/Pinia: Vueç¶æç®¡ç
- MobX: ååºå¼ç¶æç®¡ç
常è§è¯¯åº
â 误åº1: åªå ³æ³¨åè½ï¼ä¸å ³æ³¨ä»£ç è´¨é â æ£ç¡®: åè½å代ç è´¨éå¹¶é
â 误åº2: ä¸èèæ§è½ï¼åªå ³æ³¨åè½å®ç° â æ£ç¡®: å¨å®ç°åè½çåæ¶èèæ§è½ä¼å
â 误åº3: ä¸èèç¨æ·ä½éªï¼åªå ³æ³¨ææ¯å®ç° â æ£ç¡®: å¨å®ç°ææ¯çåæ¶èèç¨æ·ä½éª
æåæ¡ä¾
æ¡ä¾1: æ¥è¡¨å¯¼åºåè½å端å®ç°
åè½éæ±: 导åºé宿°æ®ä¸ºExcel
å®ç°æ¥éª¤:
-
页é¢å¸å±:
- å¨äº§å页é¢å³ä¸è§æ·»å “导应æé®
- å®ç°å¯¼åºé ç½®é¢æ¿ï¼å¼¹åºå¼ï¼
-
导åºé ç½®é¢æ¿:
- æ°æ®èå´éæ©ï¼æ¥æèå´ã产ååç±»ãå°åºï¼
- å¯¼åºæ ¼å¼éæ©ï¼ExcelãCSVãPDFï¼
- 导åºå段é ç½®ï¼å¤éæ¡ï¼
- 确认ååæ¶æé®
-
交äºé»è¾:
- ç¹å»å¯¼åºæé® â æå¼é ç½®é¢æ¿
- é ç½®å®æåç¹å»ç¡®è®¤ â è°ç¨å¯¼åºAPI
- å¯¼åºæå â ä¸è½½æä»¶ææç¤ºä¸è½½
- 导åºå¤±è´¥ â æ¾ç¤ºé误æç¤º
-
ä¸å¡é»è¾:
- æ°æ®èå´èå¨ï¼éæ©äº§ååç±»åèªå¨å è½½å°åºï¼
- åæ®µé ç½®ä¿ååå è½½
- 导åºåå²è®°å½
ææ¯å®ç°:
- 使ç¨React + Ant Design
- 使ç¨React Query管çAPIè°ç¨
- 使ç¨Zustand管çç»ä»¶ç¶æ
- å®ç°è¡¨åéªè¯
- å®ç°è¿åº¦æ¡æ¾ç¤º
æ¡ä¾2: æç´¢åè½å端å®ç°
åè½éæ±: 产åæç´¢åè½
å®ç°æ¥éª¤:
-
æç´¢å ¥å£:
- å¨é¦é¡µé¡¶é¨æ·»å æç´¢æ¡
- å®ç°æç´¢å»ºè®®ä¸æèå
-
æç´¢å»ºè®®:
- è¾å ¥æ¶å®æ¶è¯·æ±æç´¢å»ºè®®API
- æ¾ç¤ºæç´¢å»ºè®®å表
- é«äº®å¹é å ³é®è¯
- ç¹å»å»ºè®® â è·³è½¬å°æç´¢ç»æé¡µ
-
æç´¢ç»æé¡µ:
- 左侧çéå¨ï¼åç±»ãä»·æ ¼ãåçï¼
- å³ä¾§æç´¢ç»æå表
- ç»ææåº
- ç»æå页
-
交äºé»è¾:
- è¾å ¥å ³é®è¯ â 宿¶æ¾ç¤ºæç´¢å»ºè®®
- ç¹å»æç´¢å»ºè®® â 跳转æç´¢ç»æé¡µ
- ä¿®æ¹ç鿡件 â 宿¶æ´æ°æç´¢ç»æ
- ç¹å»æåº â æ´æ°æç´¢ç»æé¡ºåº
-
æ§è½ä¼å:
- æç´¢è¾å ¥é²æï¼300msï¼
- æç´¢ç»æèææ»å¨
- å¾çæå è½½
ææ¯å®ç°:
- 使ç¨Vue 3 + Element Plus
- 使ç¨Axiosè¿è¡APIè°ç¨
- 使ç¨Pinia管çç¶æ
- å®ç°é²æå½æ°
- å®ç°èææ»å¨ç»ä»¶
ä½¿ç¨æå
å½ç¨æ·è¯´”ææ¯å端工ç¨å¸ï¼éè¦å®ç°å端åè½…”æ¶ï¼æç §ä»¥ä¸æ¥éª¤å¼å¯¼ï¼
- éæ±æ¥æ¶ï¼æ¥æ¶UI设计稿ãåè½è§æ ¼è¯´æãAPIææ¡£
- éæ±çè§£ï¼æ·±å ¥ç解产åéæ±ååè½è§æ ¼
- ä¸å¡åæï¼åæä¸å¡é¢åï¼è¯å«ä¸å¡å®ä½
- 页é¢å®ç°ï¼ä½¿ç¨ç»ä»¶åæ¹æ³å®ç°å端页é¢
- ä¸å¡é»è¾å®ç°ï¼å®ç°å端ä¸å¡é»è¾
- æ¥å£å¯¹æ¥ï¼å¯¹æ¥å端APIï¼å¤çæ°æ®åé误
- æ§è½ä¼åï¼ä¼å页颿§è½åç¨æ·ä½éª
- æµè¯éªè¯ï¼è¿è¡åè½æµè¯åå ¼å®¹æ§æµè¯
- ä»£ç æäº¤ï¼æäº¤ä»£ç ï¼è¿è¡ä»£ç è¯å®¡
è¾åºè´¨éæ£æ¥æ¸ å
å¨æäº¤å端代ç ä¹åï¼æ£æ¥ä»¥ä¸é¡¹ç®ï¼
- åè½å®ç°å®æ´
- 代ç è´¨éé«ï¼éµå¾ªä»£ç è§èï¼
- ç¨æ·ä½éªæµç
- 符å设计稿
- æ§è½è¯å¥½ï¼å è½½éåº¦å¿«ãæ¸²ææµç ï¼
- é误å¤çå®å
- å ¼å®¹æ§è¯å¥½ï¼ä¸åæµè§å¨ãä¸å设å¤ï¼
- ä»£ç æ³¨éæ¸ æ°