Skip to content
Grok

ภาพรวมการทำงานของ Vite

ฟีเจอร์ViteWebpackParcelSnowpack
Development Modeใช้ Native ESMBundle-basedBundle-basedESM-based
Production Buildใช้ RollupWebpackParcel BundlerSnowpack + esbuild
Build Toolesbuild (dev) / Rollup (prod)WebpackParcelesbuild
HMR⚡ เร็วมาก🐢 ช้า⚡ เร็ว⚡ เร็ว
Start Time⚡ <1s🐢 10-60s⚡ 2-5s⚡ 1-3s
Configง่ายซับซ้อนไม่ต้อง configง่าย

Development Mode (vite dev)

ฟีเจอร์ViteWebpackParcelSnowpack
Native ESM❌ (ใช้ bundle)
HMR⚡ เร็วมาก🐢 ช้า⚡ เร็ว⚡ เร็ว
Fast Refresh✅ (ต้องตั้งค่า)
Source Maps
Dev Server⚡ เร็วมาก🐢 ช้า⚡ เร็ว⚡ เร็ว
Config Filevite.config.jswebpack.config.jsไม่ต้องsnowpack.config.js
ตัวอย่างคำสั่งvite devwebpack serveparcel index.htmlsnowpack dev

Production Build (vite build)

ฟีเจอร์ViteWebpackParcelSnowpack
BundlerRollupWebpackParcelesbuild
Tree Shaking
Code Splitting
Minification✅ (esbuild)✅ (Terser)✅ (esbuild)
Build Time⚡ เร็วมาก🐢 ช้ามาก⚡ เร็ว⚡ เร็วมาก
Output Size⚡ เล็กใหญ่ใหญ่⚡ เล็ก
Config Filevite.config.jswebpack.config.jsไม่ต้องsnowpack.config.js
ตัวอย่างคำสั่งvite buildwebpack --mode productionparcel buildsnowpack build

การทำงานกับ Framework ต่างๆ

ฟีเจอร์VueReactSveltePreactLit
Official Plugin
HMR⚡ เร็วมาก⚡ เร็ว⚡ เร็ว⚡ เร็ว⚡ เร็ว
Fast Refresh
SSR
JSX/TSX
CSS Modules
TypeScript
ตัวอย่างคำสั่งnpm create vite@latest -- --template vuenpm create vite@latest -- --template reactnpm create vite@latest -- --template sveltenpm create vite@latest -- --template preactnpm create vite@latest -- --template lit

เปรียบเทียบ Performance

ตัวชี้วัดViteWebpackParcelSnowpack
Dev Server Start⚡ <1s🐢 10-60s⚡ 2-5s⚡ 1-3s
HMR Update⚡ <50ms🐢 500ms-5s⚡ 100-500ms⚡ 50-200ms
Production Build⚡ เร็วมาก🐢 ช้ามาก⚡ เร็ว⚡ เร็วมาก
Memory Usage⚡ ต่ำ🐢 สูง⚡ ต่ำ⚡ ต่ำ
Bundle Size⚡ เล็กใหญ่ใหญ่⚡ เล็ก