process & env
object process
หัวข้อที่มีชื่อว่า “object process”process คือ global object ที่ให้โปรแกรมของคุณเข้าถึง Node.js process ที่กำลังทำงาน ใช้งานได้ทุกที่ — ไม่ต้อง import
property และ method ที่ใช้บ่อยที่สุด:
| Property / Method | สิ่งที่ให้ |
|---|---|
process.argv | Array ของ command-line arguments |
process.env | Object ของ environment variables |
process.cwd() | string ของ current working directory |
process.exit(code) | ยุติ process ด้วย exit code |
process.platform | string ของ OS platform ('linux', 'darwin', 'win32') |
process.version | string ของ Node.js version (เช่น 'v20.11.0') |
process.argv — command-line arguments
หัวข้อที่มีชื่อว่า “process.argv — command-line arguments”process.argv คือ array เสมอ สองตัวแรกมีค่าตายตัว:
argv[0]— path ไปยังnodebinaryargv[1]— path ไปยัง script ที่กำลังรันargv[2]เป็นต้นไป — arguments ที่คุณระบุจริงๆ
Needs the Node.js runtime — open in StackBlitz to run.
process.env — environment variables
หัวข้อที่มีชื่อว่า “process.env — environment variables”process.env คือ plain object ที่มี keys และ values เป็น strings ถูก populate จาก shell environment ตอนเริ่ม process
Needs the Node.js runtime — open in StackBlitz to run.
process.cwd() และ process.platform
หัวข้อที่มีชื่อว่า “process.cwd() และ process.platform”Needs the Node.js runtime — open in StackBlitz to run.
process.exit()
หัวข้อที่มีชื่อว่า “process.exit()”process.exit(code) ยุติ process ทันที ตามแบบแผน:
- Exit code
0หมายถึงสำเร็จ - code ที่ไม่ใช่ศูนย์ (มักเป็น
1) หมายถึงล้มเหลว
// Example: exit with error if a required env var is missingif (!process.env.DATABASE_URL) { console.error('ERROR: DATABASE_URL is required'); process.exit(1);}การเรียก process.exit() คือการหยุดแบบทันที — finally blocks ยังทำงาน แต่ async callbacks ที่ค้างอยู่จะไม่ทำงาน สำหรับการปิดตัวแบบ graceful ควร drain server ก่อน (เช่น server.close()) แล้วปล่อยให้ event loop ออกเอง