ไฟล์ .env คือหัวใจสำคัญของการจัดการการตั้งค่า ในการพัฒนาซอฟต์แวร์ยุคใหม่ ไฟล์ .env เป็นไฟล์ข้อความธรรมดา ที่ใช้เก็บ Environment Variables หรือตัวแปรสภาพแวดล้อมของโปรเจกต์ โดยมีรูปแบบการเก็บข้อมูลเป็น KEY=VALUE
จุดประสงค์หลักคือการแยก “การตั้งค่า” ออกจาก “โค้ด” เพื่อให้โปรแกรมสามารถรันในสภาพแวดล้อมที่ต่างกัน ได้โดยไม่ต้องแก้ไขโค้ดด้านใน
ทำไมต้องใช้ .env ?
- Security : ป้องกันการหลุดของข้อมูลสำคัญ เช่น API Keys, รหัสผ่าน Database หรือ Token ต่างๆ เข้าไปยัง Git Repository
- Flexibility : เปลี่ยนการตั้งค่าได้ง่ายตามสภาพแวดล้อม เช่น
- Local: ต่อ Database ในเครื่องตัวเอง
- Production: ต่อ Database บน Cloud
- Standardization: เป็นมาตรฐานที่ใช้กันทั่วโลก ไม่ว่าจะเป็น Node.js, Python, PHP, หรือ Docker
โครงสร้างและการใช้งาน
- การสร้างไฟล์
สร้างไฟล์ชื่อ.envไว้ที่ Root Directory ของโปรเจกต์ แล้วใส่ข้อมูลลงไปดังนี้PORT=3000 DB_HOST=localhost DB_USER=root DB_PASS=123456 STRIPE_API_KEY=sk_test_4eC39HqLyjWDarjtT1zdp7dc
- การเรียกใช้งาน
สร้างไฟล์ชื่อ.envไว้ที่ Root Directory ของโปรเจกต์ แล้วใส่ข้อมูลลงไปดังนี้require('dotenv').config(); console.log(process.env.PORT); // ผลลัพธ์: 3000 console.log(process.env.DB_HOST); // ผลลัพธ์: localhost
ข้อควรระวังที่สำคัญ
❌ ห้าม Push ไฟล์ .env ขึ้น Git เด็ดขาด!
นี่คือข้อผิดพลาดที่ร้ายแรงที่สุด ให้เพิ่มชื่อไฟล์ .env ลงในไฟล์ .gitignore เสมอ เพื่อไม่ให้ข้อมูลความลับถูกอัปโหลดขึ้น GitHub หรือ GitLab
✅ สร้างไฟล์ .env.example
เนื่องจากเราไม่ Push ไฟล์จริงขึ้น Git เพื่อนร่วมทีมจะไม่รู้ว่าต้องตั้งค่าตัวแปรอะไรบ้าง วิธีแก้คือสร้างไฟล์ .env.example ที่ใส่เฉพาะชื่อ Key แต่ไม่มี Value จริง
# .env.example
PORT=
DB_HOST=
DB_PASS=
✅ การตั้งชื่อ Variable
- ควรเป็นตัวพิมพ์ใหญ่ทั้งหมด
- ใช้ Under score เชื่อมคำ
- ไม่ควรมีช่องว่างรอบเครื่องหมาย
=
สรุป
การใช้ .env ช่วยให้โปรเจกต์ของคุณมีความปลอดภัยและจัดการง่ายขึ้น แต่อย่าลืมว่าไฟล์นี้เปรียบเสมือนกุญแจบ้าน ห้ามทำหลุดไปในที่สาธารณะ และควรมีการสำรองข้อมูลการตั้งค่าเหล่านี้ไว้ในที่ปลอดภัยเสมอครับ
อ่านเพิ่มเติม