Skip to content
Grok

Built-in Modules ของ Node.js

Node.js มาพร้อมกับชุดโมดูลพื้นฐาน (Built-in Modules) ที่ทรงพลังซึ่งเป็นส่วนหนึ่งของแพลตฟอร์ม ทำให้เราสามารถสร้างแอปพลิเคชันที่ซับซ้อนได้โดยไม่ต้องติดตั้งไลบรารีภายนอก โมดูลเหล่านี้ครอบคลุมการทำงานหลากหลายประเภท ตั้งแต่การจัดการไฟล์, เครือข่าย, ไปจนถึงการจัดการ process และการเข้ารหัสข้อมูล

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

CLI & Process

โมดูลสำหรับจัดการ Command Line Interface (CLI), process ของระบบ, และการทำงานแบบ multi-threading

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
processข้อมูลและควบคุม process ปัจจุบัน - เข้าถึง environment variables, command line arguments และจัดการ process lifecyclewww.npmjs.com favicondotenv, www.npmjs.com faviconyargs✅ นิยมใช้server, worker
child_processสร้างและจัดการ child processes - รันคำสั่ง shell และโปรแกรมภายนอกจาก Node.jswww.npmjs.com faviconexeca, www.npmjs.com faviconzx✅ นิยมใช้server
worker_threadsทำงานแบบ multi-threaded - ประมวลผลงานที่ใช้ CPU สูงโดยไม่บล็อก event loopwww.npmjs.com faviconpiscina, www.npmjs.com faviconworkerpool⚠️ นิยมในบางกรณีserver, worker
clusterสร้าง multi-process application - ใช้ประโยชน์จาก CPU หลาย core โดยการสร้าง child processes ที่แชร์ server port เดียวกันwww.npmjs.com faviconpm2 (Process Manager)⚠️ นิยมในบางกรณีserver
readlineอ่านข้อมูลป้อนเข้าจาก command line - สร้างส่วนติดต่อผู้ใช้แบบ CLI และรับข้อมูลจากผู้ใช้www.npmjs.com faviconinquirer, www.npmjs.com faviconprompts⚠️ นิยมใช้ไลบรารีทางเลือกserver, CLI
osข้อมูลระบบปฏิบัติการ - เข้าถึงข้อมูล CPU, หน่วยความจำ, และอินเทอร์เฟซเครือข่ายของระบบwww.npmjs.com faviconsysteminformation✅ นิยมใช้server
ttyจัดการ Terminal - ตรวจสอบว่า stdout และ stdin เป็น TTY (teletype) หรือไม่www.npmjs.com faviconis-tty⚠️ นิยมในบางกรณีserver, CLI

File System

โมดูลสำหรับทำงานกับไฟล์และไดเรกทอรีในระบบ

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
fsทำงานกับระบบไฟล์ - อ่าน/เขียนไฟล์, สร้างไดเรกทอรี และจัดการสิทธิ์การเข้าถึงไฟล์www.npmjs.com faviconfs-extra, www.npmjs.com faviconmemfs✅ นิยมใช้server
pathจัดการเส้นทางของไฟล์ - สร้างและแยกส่วนเส้นทางไฟล์ที่ทำงานได้ทุกระบบปฏิบัติการwww.npmjs.com faviconpathe, www.npmjs.com faviconupath✅ นิยมใช้server, browser

Networking

โมดูลสำหรับสร้างแอปพลิเคชันเครือข่าย, ตั้งแต่เว็บเซิร์ฟเวอร์ไปจนถึงการจัดการ DNS

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
httpสร้าง HTTP server และ client - พื้นฐานสำหรับการสร้างเว็บเซิร์ฟเวอร์และส่งคำขอ HTTPwww.npmjs.com faviconexpress, www.npmjs.com faviconfastify, www.npmjs.com faviconaxios✅ นิยมใช้ (ผ่าน framework)server
httpsสร้าง HTTPS server และ client - เหมือน http แต่เพิ่มความปลอดภัยด้วย SSL/TLS(เหมือน http)✅ นิยมใช้server
http2สร้าง HTTP/2 server และ client - รองรับโปรโตคอล HTTP/2 ที่มีประสิทธิภาพสูงกว่า(Frameworks ส่วนใหญ่รองรับ)⚠️ นิยมในบางกรณีserver
netสร้าง TCP server และ client - สำหรับการสื่อสารผ่านเครือข่ายระดับต่ำโดยใช้ TCPwww.npmjs.com faviconws (สำหรับ WebSockets)✅ นิยมใช้server
dgramจัดการ UDP/datagram sockets - สำหรับการส่งข้อมูลแบบ connectionless-⚠️ นิยมในบางกรณีserver
dnsจัดการ DNS - แปลงชื่อโดเมนเป็น IP address และกลับกันwww.npmjs.com favicondns-lookup✅ นิยมใช้server
urlจัดการ URL - แยกส่วนและสร้าง URL ตามมาตรฐาน WHATWGwww.npmjs.com faviconurl-parse✅ นิยมใช้server, browser
querystringจัดการ Query String - แยกส่วนและสร้าง URL query string (Legacy)www.npmjs.com faviconqs, URLSearchParams⚠️ นิยมใช้ URLSearchParamsserver, browser

Data Handling & Utilities

โมดูลสำหรับจัดการข้อมูลในรูปแบบต่างๆ และเครื่องมืออรรถประโยชน์ทั่วไป

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
streamจัดการข้อมูลแบบสตรีม - อ่านและเขียนข้อมูลเป็นชิ้นเล็กๆ อย่างต่อเนื่องwww.npmjs.com faviconthrough2, www.npmjs.com faviconreadable-stream✅ นิยมใช้ (เป็นพื้นฐาน)server, worker
bufferจัดการข้อมูลไบนารี - ทำงานกับข้อมูลที่ไม่ใช่ข้อความ เช่น รูปภาพ หรือข้อมูลจากเครือข่าย-✅ นิยมใช้ (เป็นพื้นฐาน)server, worker
zlibบีบอัดและคลายการบีบอัดข้อมูล - ใช้อัลกอริทึม Gzip, Deflate, Brotliwww.npmjs.com faviconpako✅ นิยมใช้server
eventsจัดการ Event - สร้างและจัดการ custom events ด้วยรูปแบบ observer patternwww.npmjs.com faviconeventemitter3✅ นิยมใช้ (เป็นพื้นฐาน)server, worker, browser
utilฟังก์ชันอรรถประโยชน์ต่างๆ - เครื่องมือช่วยเหลือทั่วไป เช่น promisify, inspectwww.npmjs.com faviconlodash, www.npmjs.com faviconremeda✅ นิยมใช้server, worker
string_decoderแปลง Buffer เป็น String - จัดการกับการแปลง Buffer เป็นข้อความที่รองรับ multi-byte characterswww.npmjs.com faviconiconv-lite⚠️ นิยมในบางกรณีserver

Cryptography & Security

โมดูลสำหรับจัดการด้านความปลอดภัยและการเข้ารหัสข้อมูล

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
cryptoฟังก์ชันด้านการเข้ารหัส - ให้บริการฟังก์ชันการเข้ารหัสต่างๆ เช่น Hash, HMAC, Cipher, Signwww.npmjs.com faviconbcrypt, www.npmjs.com faviconnode-forge✅ นิยมใช้server, worker
tlsจัดการ TLS/SSL - เป็นพื้นฐานของ https สำหรับการสร้างการเชื่อมต่อที่ปลอดภัย-✅ นิยมใช้ (ผ่าน https)server

Debugging & Performance

โมดูลสำหรับดีบักโค้ดและวัดประสิทธิภาพการทำงาน

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
consoleการแสดงผลในคอนโซล - ใช้สำหรับ debug โดยการพิมพ์ข้อความไปยัง stdout และ stderrwww.npmjs.com faviconpino, www.npmjs.com faviconwinston, www.npmjs.com faviconchalk✅ นิยมใช้server, worker, browser
inspectorเชื่อมต่อกับ Debugger - เปิดใช้งานการดีบักผ่านเครื่องมืออย่าง Chrome DevTools-⚠️ นิยมในบางกรณีserver
perf_hooksวัดประสิทธิภาพ - ให้ API สำหรับวัดประสิทธิภาพของโค้ดwww.npmjs.com faviconbenchmark.js⚠️ นิยมในบางกรณีserver, worker
trace_eventsติดตาม Trace Events - ให้กลไกสำหรับติดตามและดู trace events ที่สร้างโดย Node.js-⚠️ นิยมในบางกรณีserver

Testing & Assertion

โมดูลสำหรับการเขียนเทสและยืนยันความถูกต้องของโค้ด

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
assertการทดสอบและการยืนยัน - ชุดของฟังก์ชันยืนยันที่ใช้ในการทดสอบโค้ดjestjs.io faviconjest, mochajs.org faviconmocha, www.chaijs.com faviconchai⚠️ นิยมใช้ไลบรารีทางเลือกtest

JavaScript Engine & Execution

โมดูลสำหรับทำงานกับ V8 JavaScript engine และควบคุมสภาพแวดล้อมการรันโค้ด

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน
vmรันโค้ดใน Sandbox - สร้างและรันโค้ด JavaScript ใน V8 context ที่แยกออกมาwww.npmjs.com faviconisolated-vm⚠️ นิยมในบางกรณีserver
async_hooksติดตาม Asynchronous Resources - ให้ API สำหรับติดตาม lifetime ของ asynchronous resourceswww.npmjs.com faviconcls-hooked⚠️ นิยมในบางกรณีserver
wasiWebAssembly System Interface - รองรับการทำงานกับ WebAssembly (Wasm)-⚠️ นิยมในบางกรณีserver

Network & Web

ModuleคำอธิบายNode Libraries ทางเลือกความนิยมใช้ใน