vite คืออะไร
#พื้นฐานการเขียนเว็ปไซต์ #vite#ติดเทรนด์ #ป้ายยากับlemon8
Vite (อ่านว่า "วีท" เป็นภาษาฝรั่งเศสแปลว่า "เร็ว") คือเครื่องมือที่ช่วยให้การพัฒนาเว็บไซต์ (Build Tool) ยุคใหม่รวดเร็วและลื่นไหลขึ้นอย่างมาก พัฒนาโดย Evan You (คนเดียวกับที่สร้าง Vue.js) แต่สา มารถใช้ได้กับทั้ง React, Svelte, หรือแม้แต่ Vanilla JS ทั่วไปครับ
Vite ทำหน้าที่อะไร?
หากเปรียบเทียบการสร้างเว็บเหมือนการสร้างบ้าน Vite คือเครื่องมืออำนวยความสะดวกในไซต์ก่อสร้าง ที่ทำหน้าที่หลักๆ 2 ส่วนดังนี้ครับ:
1. สภาพแวดล้อมสำหรับการเขียนโค้ด (Development Server)
ในขณะที่คุณกำลังเขียนโปรแกรม Vite จะรัน Server จำลองขึ้นมาเพื่อให้คุณดูผลลัพธ์ได้ทันที จุดเด่นคือระบบ Hot Module Replacement (HMR) ที่เร็วระดับเสี้ยววินาที เมื่อคุณกด Save ไฟล์โค้ด หน้าเว็บจะอัปเดตเฉพาะส่วนที่เปลี่ยนไปโดยไม่ต้อง Refresh ใหม่ทั้งหน้า
2. การเตรียมไฟล์เพื่อใช้งานจริง (Bundling)
เมื่อเขียนเว็บเสร็จแล้ว โค้ดที่เราเขียน (เช่น JSX, TypeScript, SCSS) บราวเซอร์ทั่วไปจะอ่านไม่ออก Vite จะใช้เครื่องมือที่ชื่อว่า Rollup มาทำหน้าที่ "มัดรวม" (Bundle) และ "แปลงไฟล์" (Compile) ให้ กลายเป็น HTML, CSS และ JS พื้นฐานที่บราวเซอร์ทุกตัวเข้าใจและทำงานได้เร็วที่สุด
ทำไม Vite ถึง "เร็ว" กว่าเครื่องมือสมัยก่อน (เช่น Webpack)?
ในอดีต (ยุค Webpack) เวลาเราจะเริ่มเขียนโปรแกรม เครื่องมือต้องไปไล่เช็กไฟล์ทุกไฟล์ในโปรเจกต์แล้วมัดรวมกันก่อนถึงจะเปิด Server ได้ ซึ่งถ้าโปรเจกต์ใหญ่จะใช้เวลานานมาก แต่ Vite ใช้แนวคิดใหม่:
ใช้ Native ESM: Vite จะไม่มัดรวมไฟล์ในตอนพัฒนา แต่จะปล่อยให้บราวเซอร์เป็นคนร้องขอไฟล์ (Request) เฉพาะไฟล์ที่เรากำลังเปิดใช้งานอยู่จริงๆ เท่านั้น
Esbuild: Vite ใช้ภาษา Go ในการจัดการ Dependency บางส่วน ซึ่งเร็วกว่าเครื่องมือที่เขียนด้วย JavaScript ปกติถึง 10-100 เท่า
ขั้นตอนการเริ่มใช้งาน (Quick Start)
หากคุณติดตั้ง Node.js อยู่แล้ว สามารถเปิด Terminal แล้วพิมพ์คำสั่งนี้เพื่อสร้างโปรเจกต์ใหม่ได้เลยครับ:
Bash
npm create vite@latest my-vue-app
จากนั้นเลือก Framework ที่ต้องการ (เช่น React หรือ Vue) และเลือกภาษา (JS หรือ TypeScript)
สรุปสั้นๆ
Vite คือ "ตัวช่วยรันและตัวช่วยแพ็กของ" ที่ทำให้ชีวิต Developer ง่ายขึ้น ไม่ต้องรอนานตอน Compile และได้ไฟล์ที่ Optimize มาอย่างดีสำหรับการนำไป Deploy ขึ้นโฮสติ้งครับ











































