vite-starter
npx skills add https://github.com/cruldra/skills --skill vite-starter
Agent 安装分布
Skill 文档
Vite å端项ç®èææ¶
ä½¿ç¨ create-vite å¿«éå建ç°ä»£å端项ç®ï¼æ¯æå®æ¹æ¨¡æ¿åç¤¾åºæ¨¡æ¿ï¼èªå¨å¤ç TypeScript é ç½®éªè¯ã
工使µç¨
第 1 æ¥ï¼æ¶éç¨æ·å好
å¿ é¡»è¯¢é®ä»¥ä¸ä¿¡æ¯ï¼å¦æç¨æ·æªæä¾ï¼ï¼
| å好项 | é项 | 说æ |
|---|---|---|
| æ¡æ¶ | ReactãVueãSvelteãSolidãPreactãLitãQwikãVanilla | æ ¸å¿æ¡æ¶éæ© |
| è¯è¨ | TypeScriptï¼æ¨èï¼ãJavaScript | æ¯å¦å¯ç¨ TypeScript |
| å 管çå¨ | pnpmï¼æ¨èï¼ãnpmãyarnãbun | ä¾èµç®¡çå·¥å · |
| 项ç®åç§° | å符串 | ç®å½åï¼å¯ç¨ . 表示å½åç®å½ |
| æå»ºå¨ | React ä¸å±ï¼Babelï¼é»è®¤ï¼æ SWCï¼å¤§åé¡¹ç®æ¨èï¼ | ä» React 项ç®éè¦éæ© |
å好æ¶éååï¼
- å¦æç¨æ·å·²å¨è¯·æ±ä¸æç¡®äºæäºåå¥½ï¼æ ééå¤è¯¢é®
- 对äºç¼ºå¤±çå ³é®å好ï¼ä¸æ¬¡æ§ååºææé®é¢ï¼é¿å å¤è½®å¯¹è¯
- å¦æç¨æ·æ²¡æç¹æ®è¦æ±ï¼å¯ç´æ¥æè®®æ¨èç»å并请æ±ç¡®è®¤
æ¨èç»åï¼
React + TypeScript + pnpm + SWC â react-swc-ts 模æ¿ï¼æ§è½æä½³ï¼
Vue + TypeScript + pnpm â vue-ts 模æ¿
Svelte + TypeScript + pnpm â svelte-ts 模æ¿
第 2 æ¥ï¼ä¿ååå¥½å° assets ç®å½
å°ç¨æ·å好ä¿å为 JSON æä»¶ï¼ä¾¿äºä¸æ¬¡å¤ç¨ã
åå¨ä½ç½®ï¼ ./assets/ ç®å½ï¼ç¸å¯¹äºæè½ç®å½ï¼
æä»¶å½åè§åï¼ {æè¿°æ§åç§°}.jsonï¼ä¾å¦ react-ts-pnpm.json
æä»¶æ ¼å¼ï¼
{
"name": "react-ts-pnpm",
"description": "React + TypeScript + pnpm + SWC",
"framework": "react",
"language": "typescript",
"packageManager": "pnpm",
"template": "react-swc-ts",
"createdAt": "2024-01-01"
}
䏿¬¡ä½¿ç¨æ¶ï¼ ååº ./assets/ ä¸å·²æçå好æä»¶ï¼è®©ç¨æ·éæ©ç´æ¥å¤ç¨æå建æ°çã
第 3 æ¥ï¼éæ©å¹¶æ§è¡å®è£ å½ä»¤
宿¹æ¨¡æ¿ï¼æ¨èï¼å¿«é稳å®ï¼
ææå®æ¹æ¨¡æ¿ IDï¼
| æ¨¡æ¿ ID | æ¡æ¶ | è¯è¨ | 夿³¨ |
|---|---|---|---|
vanilla |
Vanilla JS | JavaScript | |
vanilla-ts |
Vanilla JS | TypeScript | |
vue |
Vue 3 | JavaScript | |
vue-ts |
Vue 3 | TypeScript | |
react |
React | JavaScript | Babel |
react-ts |
React | TypeScript | Babel |
react-swc |
React | JavaScript | SWCï¼æ´å¿«ï¼ |
react-swc-ts |
React | TypeScript | SWCï¼æ´å¿«ï¼æ¨èï¼ |
react-compiler |
React | JavaScript | React Compilerï¼å®éªæ§ï¼ |
react-compiler-ts |
React | TypeScript | React Compilerï¼å®éªæ§ï¼ |
preact |
Preact | JavaScript | |
preact-ts |
Preact | TypeScript | |
lit |
Lit | JavaScript | Web Components |
lit-ts |
Lit | TypeScript | Web Components |
svelte |
Svelte | JavaScript | |
svelte-ts |
Svelte | TypeScript | |
solid |
Solid | JavaScript | |
solid-ts |
Solid | TypeScript | |
qwik |
Qwik | JavaScript | Resumability |
qwik-ts |
Qwik | TypeScript | Resumability |
åå 管çå¨å½ä»¤ï¼
# pnpmï¼æ¨èï¼
pnpm create vite <项ç®åç§°> --template <模æ¿ID>
# npmï¼æ³¨æï¼npm 7+ éè¦ -- åé符ï¼
npm create vite@latest <项ç®åç§°> -- --template <模æ¿ID>
# yarn
yarn create vite <项ç®åç§°> --template <模æ¿ID>
# bun
bun create vite <项ç®åç§°> --template <模æ¿ID>
å¨å½åç®å½å建ï¼ä½¿ç¨ .ï¼ï¼
pnpm create vite . --template react-swc-ts
é交äºå¼ï¼CI/CD æèæ¬ç¯å¢ï¼ï¼
pnpm create vite my-app --template react-swc-ts --no-interactive
ç¤¾åºæ¨¡æ¿ï¼åè½æ´å®æ´ï¼
åè Awesome Vite ç¤¾åºæ¨¡æ¿ è·å宿´å表ã
ä½¿ç¨ tigedï¼degit çç»´æ¤çæ¬ï¼å
éç¤¾åºæ¨¡æ¿ï¼
# å®è£
tiged
npx tiged <ç¨æ·å/ä»åºå> <项ç®åç§°>
cd <项ç®åç§°>
pnpm install
çé¨ç¤¾åºæ¨¡æ¿ï¼
- Vitesse â Vue 3 å ¨åè½æ¨¡æ¿ï¼UnoCSS + i18n + æä»¶è·¯ç±ï¼
- Vitamin â React + TypeScript + Tailwind CSS + PWA
- create-electron-vite â Electron æ¡é¢åºç¨
第 4 æ¥ï¼å®è£ ä¾èµ
cd <项ç®åç§°> # 妿䏿¯å¨å½åç®å½å建
pnpm install # æå¯¹åºå
管çå¨çå®è£
å½ä»¤
第 5 æ¥ï¼TypeScript ç¼è¯éªè¯ï¼ä» TS 项ç®ï¼
å¦æéæ©äº TypeScript 模æ¿ï¼å¿ é¡»éªè¯ç¼è¯éè¿ï¼
# æ§è¡ç±»åæ£æ¥ï¼ä¸çææä»¶ï¼
pnpm exec tsc --noEmit
# æè¿è¡æå»ºéªè¯
pnpm build
颿è¾åºï¼ æ é误è¾åºï¼å½ä»¤ä»¥éåºç 0 宿ã
妿åºç°ç±»åéè¯¯ï¼æ ¹æ®é误信æ¯ä¿®å¤å忬¡éªè¯ï¼ç¡®è®¤å¹²åéè¿åååç¨æ·æ¥å宿ã
第 6 æ¥ï¼åç¨æ·æ¥å
æ¥åå å®¹å æ¬ï¼
- 项ç®å建路å¾
- 使ç¨ç模æ¿åå 管çå¨
- TypeScript ç¼è¯éªè¯ç»æï¼å¦éç¨ï¼
- å¯å¨å¼åæå¡å¨çå½ä»¤
# å¯å¨å¼åæå¡å¨
pnpm dev
注æäºé¡¹
- SWC vs Babelï¼å¯¹äº React 项ç®ï¼SWCï¼
react-swc-tsï¼æ¯ Babel å¿« 20x+ï¼æ¨èç¨äºæææ°é¡¹ç® - npm 7+ ç¹æ®è¯æ³ï¼npm ä¼ éåæ°ç» create-vite å¿
é¡»å
--åé符ï¼npm create vite@latest my-app -- --template react-ts - å¨çº¿é¢è§ï¼å¯éè¿
https://vite.new/{模æ¿ID}卿µè§å¨ä¸å¿«éé¢è§ä»»æå®æ¹æ¨¡æ¿ï¼å¦https://vite.new/react-swc-tsï¼