🔵 React

สอนวิธี Build และ Deploy โปรเจกต์ React ขึ้นเว็บจริงด้วย Vercel และ Netlify

8 นาที 21 views บันทึกเป็น PDF
สอนวิธี Build และ Deploy โปรเจกต์ React ขึ้นเว็บจริงด้วย Vercel และ Netlify

เรียนรู้วิธีเตรียมโปรเจกต์ React ให้พร้อมใช้งานจริงผ่านคำสั่ง npm run build จัดการไฟล์ .env ให้ปลอดภัย และขั้นตอนการ Deploy ขึ้น Vercel แบบมือโปร

ทำไมต้อง Build โปรเจกต์ก่อนเอาขึ้นเว็บจริง

เวลาเราเขียนโค้ด React ในเครื่องตัวเอง เรามักใช้โหมดพัฒนาที่เรียกว่า Development Mode (โหมดที่ช่วยให้เราแก้โค้ดแล้วเว็บอัปเดตทันที) แต่โหมดนี้มันไม่ได้ถูกออกแบบมาให้คนทั่วไปเข้าใช้งานจริง เพราะมันมีขนาดไฟล์ที่ใหญ่มากและทำงานได้ช้า

ลองนึกภาพว่าเรากำลังทำกับข้าว ถ้าเราทำกินเองที่บ้าน เราอาจวางของเกลื่อนเต็มเคาน์เตอร์ครัว แต่ถ้าเราจะเปิดร้านอาหารให้ลูกค้า เราต้องจัดจานให้สวยงามและเก็บของให้เป็นระเบียบ การ Build (กระบวนการแปลงโค้ดที่เราเขียน ให้กลายเป็นไฟล์ที่คอมพิวเตอร์และเบราว์เซอร์อ่านได้เร็วที่สุด) ก็เหมือนการจัดร้านให้พร้อมรับลูกค้านั่นเอง

ถ้าเราไม่ทำขั้นตอนนี้ เว็บไซต์ของเราก็จะทำงานหนักเกินไปและโหลดช้าจนคนใช้งานหนีไปหมด การเรียนรู้วิธีเตรียมไฟล์ให้พร้อมจึงเป็นทักษะพื้นฐานที่โปรแกรมเมอร์ทุกคนต้องทำเป็น เพื่อให้โปรเจกต์ที่เราเหนื่อยสร้างมามีประสิทธิภาพสูงสุดในโลกออนไลน์

# คำสั่งที่ใช้ Build โปรเจกต์ใน Terminal
npm run build

# ผลลัพธ์ที่ได้จะเป็นโฟลเดอร์ชื่อ 'dist' หรือ 'build'
# ภายในจะมีไฟล์ HTML, CSS, และ JavaScript ที่ถูกบีบอัดจนมีขนาดเล็กที่สุด

เมื่อรันคำสั่งนี้ ตัวโปรแกรมจะเข้าไปไล่ดูโค้ดทั้งหมดของเรา แล้วจัดการตัดส่วนเกินทิ้งไป พร้อมกับรวมไฟล์ให้เหลือจำนวนน้อยที่สุดเพื่อให้เบราว์เซอร์โหลดข้อมูลได้ไวขึ้น

รู้จักกับ Environment Variables เพื่อความปลอดภัย

เวลาเขียนโปรแกรม เรามักจะมีข้อมูลที่เป็นความลับ เช่น API Key (รหัสผ่านสำหรับเชื่อมต่อกับบริการภายนอก) ซึ่งเราไม่ควรเอาไปแปะไว้ในโค้ดตรงๆ เพราะถ้าเราเผลอเอาโค้ดขึ้นไปเก็บในที่สาธารณะ คนอื่นจะแอบเอาไปใช้ได้ทันที

เราจึงต้องใช้สิ่งที่เรียกว่า Environment Variables (ตัวแปรสภาพแวดล้อมที่ใช้เก็บค่าเฉพาะเจาะจงสำหรับแต่ละสภาพแวดล้อม) เหมือนกับการที่เรามีกุญแจบ้านกุญแจหนึ่ง แต่กุญแจตู้เซฟในบ้านเราจะเก็บไว้ในที่ที่ปลอดภัยกว่า ไม่วางทิ้งไว้บนโต๊ะรับแขก

เราจะสร้างไฟล์ชื่อ .env ขึ้นมาเพื่อเก็บข้อมูลเหล่านี้แยกออกมาต่างหาก จากนั้นเราจะบอกให้ระบบ Git (เครื่องมือที่ใช้เก็บประวัติการแก้ไขโค้ด) ไม่ต้องอัปโหลดไฟล์นี้ขึ้นไปบนอินเทอร์เน็ต เพื่อให้ข้อมูลสำคัญของเราปลอดภัยที่สุด

# ตัวอย่างไฟล์ .env
VITE_API_URL=https://api.myapp.com
VITE_SECRET_KEY=12345abcde

# วิธีเรียกใช้ในโค้ด React
const apiUrl = import.meta.env.VITE_API_URL;

สังเกตว่าชื่อตัวแปรต้องขึ้นต้นด้วย VITE_ เสมอ เพื่อให้ React เข้าถึงข้อมูลนี้ได้ การใช้ไฟล์นี้ช่วยให้เราเปลี่ยนค่าต่างๆ ได้ง่ายโดยไม่ต้องแก้ไขตัวโค้ดหลักเลย

เตรียมตัวก่อน Deploy ขึ้นสู่โลกออนไลน์

ก่อนจะเอาโปรเจกต์ขึ้นไป Deploy (การนำโค้ดไปวางบนเซิร์ฟเวอร์เพื่อให้คนทั่วโลกเข้าใช้งานได้) เราต้องตรวจสอบให้แน่ใจว่าโปรเจกต์ไม่มีข้อผิดพลาดหลงเหลืออยู่ การทดสอบขั้นสุดท้ายในเครื่องตัวเองเป็นเรื่องที่ห้ามมองข้ามเด็ดขาด

มือใหม่มักพลาดตรงที่ลืมเช็กว่าไฟล์ .env ของตัวเองถูกอัปโหลดขึ้น GitHub หรือไม่ ให้ลองเช็กไฟล์ที่ชื่อ .gitignore ว่ามีชื่อไฟล์ .env อยู่ข้างในนั้นหรือยัง ถ้าไม่มีให้รีบเพิ่มเข้าไปทันที ไม่อย่างนั้นรหัสลับของเราจะหลุดออกไปแน่นอน

นอกจากนี้ควรลองรัน npm run build ดูสักรอบในเครื่องตัวเอง เพื่อดูว่าขั้นตอนการสร้างไฟล์ผ่านฉลุยหรือไม่ ถ้ามีข้อความแจ้งเตือนสีแดง (Error) ให้รีบแก้ไขให้เรียบร้อยก่อนจะนำไปขึ้นระบบจริง เพราะถ้า Build พัง ระบบ Deploy ก็จะพังตามไปด้วย

  1. เพิ่ม .env ลงในไฟล์ .gitignore
  2. รันคำสั่ง npm run build เพื่อตรวจสอบไฟล์
  3. อัปโหลดโค้ดขึ้น Repository (ที่เก็บโค้ดออนไลน์) เช่น GitHub

Deploy บน Vercel แพลตฟอร์มยอดนิยมของสาย React

Vercel คือแพลตฟอร์มที่ออกแบบมาเพื่อ React โดยเฉพาะ ทำให้เรานำโปรเจกต์ขึ้นเว็บได้ง่ายมากโดยแทบไม่ต้องตั้งค่าอะไรเลย แค่เชื่อมต่อกับ GitHub ของเรา ระบบก็จะจัดการทุกอย่างให้โดยอัตโนมัติ

เมื่อเราเชื่อมต่อแล้ว ทุกครั้งที่เราแก้ไขโค้ดและส่งข้อมูลขึ้นไปที่ GitHub ระบบของ Vercel จะทำการ Build ใหม่อัตโนมัติและอัปเดตหน้าเว็บให้ทันที มันสะดวกมากจนเราไม่ต้องมานั่งอัปโหลดไฟล์เองทีละรอบเหมือนสมัยก่อน

สำหรับมือใหม่ การใช้ Vercel คือจุดเริ่มต้นที่ดีที่สุด เพราะมันช่วยลดภาระเรื่องการจัดการเซิร์ฟเวอร์ให้เราได้ทั้งหมด ทำให้เราเอาเวลาไปโฟกัสกับการเขียนโค้ดให้เก่งขึ้นได้เต็มที่ นี่คือวิธีที่โปรแกรมเมอร์มืออาชีพส่วนใหญ่ใช้กัน

  • สมัครสมาชิก Vercel ด้วยบัญชี GitHub ของเรา
  • กดปุ่ม "Add New" แล้วเลือกโปรเจกต์ที่ต้องการ
  • ตั้งค่า Environment Variables ในหน้า Settings ของโปรเจกต์บนเว็บ Vercel

ทำความรู้จัก Netlify อีกหนึ่งทางเลือกที่น่าสนใจ

Netlify ก็เป็นอีกหนึ่งตัวเลือกที่ได้รับความนิยมสูงพอๆ กับ Vercel มีฟีเจอร์ที่คล้ายคลึงกันมาก คือการเชื่อมต่อกับ GitHub แล้วทำหน้าที่ Deploy ให้เราแบบอัตโนมัติทุกครั้งที่มีการเปลี่ยนโค้ด

ข้อดีของ Netlify คือหน้าจอการใช้งานที่เข้าใจง่ายมาก เหมาะสำหรับคนที่เพิ่งเริ่มทำเว็บแรกๆ และอยากเห็นผลงานตัวเองโชว์บนอินเทอร์เน็ตอย่างรวดเร็ว หากเรามีโปรเจกต์หลายอัน Netlify ก็จัดการได้ดีและไม่ซับซ้อน

ไม่ว่าเราจะเลือกใช้ Vercel หรือ Netlify สิ่งสำคัญคือเราต้องเข้าใจกระบวนการทำงานพื้นฐาน เพราะไม่ว่าจะย้ายไปแพลตฟอร์มไหน หลักการเรื่อง npm run build และการตั้งค่าตัวแปรความปลอดภัยก็ยังคงเหมือนเดิมทุกประการ

# ขั้นตอนการ Deploy บน Netlify
1. เชื่อมต่อบัญชี GitHub กับ Netlify
2. เลือก Repository ที่ต้องการ Deploy
3. กดปุ่ม Deploy Site ระบบจะสร้างลิงก์ให้เราทันที

เมื่อกด Deploy แล้ว ให้รอสักครู่จนกว่าระบบจะขึ้นสถานะว่า "Published" หลังจากนั้นเราก็จะได้ลิงก์หน้าเว็บจริงไปแชร์ให้เพื่อนดูได้เลย

สรุป: การนำไปใช้จริงให้เกิดผล

การ Build และ Deploy ไม่ใช่เรื่องไกลตัว แต่เป็นทักษะที่เปลี่ยนจาก "คนหัดเขียนโค้ด" ให้กลายเป็น "นักพัฒนาซอฟต์แวร์" ได้จริงๆ วันนี้เราได้เรียนรู้ว่าทำไมต้อง Build และการเก็บรหัสผ่านใน .env สำคัญขนาดไหน

สมมติว่าคุณกำลังทำโปรเจกต์ Portfolio (แฟ้มสะสมผลงานออนไลน์) เพื่อสมัครงาน ให้ลองนำคำแนะนำเหล่านี้ไปใช้จริง เริ่มจากการนำโค้ดขึ้น GitHub แล้วลองเชื่อมต่อกับ Vercel ทันที ความรู้สึกที่เห็นเว็บตัวเองออนไลน์ผ่านลิงก์สาธารณะคือความภูมิใจแรกที่โปรแกรมเมอร์ทุกคนต้องได้รับ

จงฝึกทำขั้นตอนนี้ซ้ำๆ จนคล่องมือ เพราะในโลกการทำงานจริง เราต้องทำกระบวนการนี้บ่อยมาก ยิ่งเราทำได้เร็วและปลอดภัยเท่าไหร่ เราก็ยิ่งมีเวลาไปพัฒนาฟีเจอร์ให้แอปพลิเคชันของเราเจ๋งขึ้นเท่านั้น เริ่มลงมือทำตั้งแต่วันนี้เลยครับ

แชร์บทความ

Facebook X LINE

บทความที่เกี่ยวข้อง

React Workshop Part 2: สอนจัดการ State, ดึงข้อมูล API และทำระบบ CRUD แบบมืออาชีพ
React

React Workshop Part 2: สอนจัดการ State, ดึงข้อมูล API และทำระบบ CRUD แบบมืออาชีพ

เรียนรู้การใช้ State และ useEffect ใน React เพื่อดึงข้อมูลจาก API พร้อมฝึกทำระบบตะกร้าสินค้าด้วย CRUD เพื่อให้เว็บของคุณโต้ตอบกับผู้ใช้งานได้จริง

1 month ago 8 นาที
27 views
สอนเขียน React เบื้องต้น: ออกแบบโครงสร้างแอปและสร้าง Component อย่างมืออาชีพ
React

สอนเขียน React เบื้องต้น: ออกแบบโครงสร้างแอปและสร้าง Component อย่างมืออาชีพ

เรียนรู้วิธีวางโครงสร้างแอป React แบบมือโปรด้วยการแบ่ง Component ช่วยให้โค้ดสะอาด จัดการง่าย และนำกลับมาใช้ซ้ำได้ พร้อมตัวอย่างการส่งข้อมูลผ่าน Props

1 month ago 6 นาที
14 views
สอนใช้ TanStack Query จัดการข้อมูลใน React ให้แอปลื่นไหลและเป็นมืออาชีพ
React

สอนใช้ TanStack Query จัดการข้อมูลใน React ให้แอปลื่นไหลและเป็นมืออาชีพ

เบื่อไหมกับการเขียน useEffect ดึงข้อมูลซ้ำซาก? มาเรียนรู้วิธีใช้ TanStack Query จัดการ Server State, Caching และสถานะ Loading/Error ให้ชีวิตโปรแกรมเมอร์ง่ายขึ้น

1 month ago 8 นาที
21 views