Node.js เป็น runtime environment ที่พัฒนาขึ้นบนพื้นฐานของ JavaScript ที่ช่วยให้เราสามารถพัฒนาแอปพลิเคชันฝั่งเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ โดยเหตุใดที่ Node.js ได้รับความนิยมอย่างมากในการพัฒนาแอปพลิเคชัน คือความสามารถในการจัดการกับการร้องขอแบบ asynchronous ได้อย่างดี
หนึ่งในความสามารถหลักของ Node.js คือการจัดการกับโมดูล เพื่อให้เราสามารถแบ่งแยกโค้ดออกเป็นส่วนๆ ที่สามารถจัดการได้ง่าย ซึ่งช่วยในการพัฒนาโปรแกรมขนาดใหญ่ได้อย่างมีระบบและมีประสิทธิภาพมากขึ้น บทความนี้จะพาทุกคนไปรู้จักกับการใช้ `require()` และการนำเข้าโมดูลใน Node.js
โมดูลคือไฟล์ JavaScript ที่เราสามารถนำเข้าไปยังไฟล์อื่นๆ ได้ ซึ่งแต่ละโมดูลสามารถคืนค่าฟังก์ชัน ตัวแปร หรือคลาสต่างๆ เพื่อให้ใช้ในโมดูลอื่น โดยใน Node.js มีโมดูลหลักๆ ที่ใช้บ่อยๆ เช่น `fs` สำหรับจัดการกับไฟล์, `http` สำหรับสร้างเซิร์ฟเวอร์ HTTP, และ `path` สำหรับจัดการกับเส้นทางไฟล์
ในการนำเข้าโมดูลใน Node.js เราจะใช้ฟังก์ชัน `require()` ซึ่งสามารถใช้ได้กับโมดูลที่ติดมากับ Node.js (built-in modules) หรือโมดูลที่เราสร้างขึ้นเองก็ได้ ยกตัวอย่างการใช้โมดูลแบบพื้นฐานมีดังนี้:
// นำเข้าฟังก์ชันหรือคลาสจากโมดูลอื่นๆ
const http = require('http');
// สร้างเซิร์ฟเวอร์ HTTP
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
// กำหนดพอร์ตและเริ่มเซิร์ฟเวอร์
server.listen(3000, '127.0.0.1', () => {
console.log('Server running at http://127.0.0.1:3000/');
});
กรณีด้านบน เราได้นำเข้าโมดูล `http` ที่มีอยู่ภายใน Node.js เพื่อสร้างเซิร์ฟเวอร์พื้นฐานที่ตอบกลับด้วยข้อความ "Hello World"
นอกจากโมดูลที่มาพร้อมกับ Node.js แล้ว เราสามารถสร้างโมดูลของเราเองได้ โดยในตัวอย่างต่อไปนี้ เราจะสร้างโมดูล `calculator.js` ซึ่งมีฟังก์ชันในการบวกเลข:
// calculator.js
function add(a, b) {
return a + b;
}
module.exports = {
add: add
};
เมื่อเราต้องการใช้โมดูลนี้ในไฟล์อื่น สามารถทำได้โดยใช้ `require()` ดังนี้:
// app.js
const calculator = require('./calculator');
const sum = calculator.add(2, 3);
console.log(`Sum: ${sum}`); // Output: Sum: 5
ใน Node.js เราสามารถเลือกใช้รูปแบบของโมดูลได้สองแบบคือ CommonJS (ซึ่งใช้ `require()` และ `module.exports`) หรือ ES6 Modules (ซึ่งใช้คำสั่ง `import` และ `export`)
ในเวอร์ชันปัจจุบัน Node.js รองรับ ES6 Modules แต่ยังคงต้องกำหนดให้ไฟล์นั้นๆ ใช้ฟอร์แมตโมดูลแบบนี้ โดยการเปลี่ยนนามสกุลไฟล์เป็น `.mjs` หรือเพิ่ม `"type": "module"` ใน `package.json`
ตัวอย่างการใช้ ES6 Modules:
// calculator.mjs
export function add(a, b) {
return a + b;
}
// app.mjs
import { add } from './calculator.mjs';
const sum = add(2, 3);
console.log(`Sum: ${sum}`); // Output: Sum: 5
การเข้าใจพื้นฐานของการใช้ `require()` และการจัดการโมดูลใน Node.js เป็นขั้นแรกที่สำคัญในการพัฒนาแอปพลิเคชันที่มีโครงสร้างซับซ้อน การรู้วิธีนำเข้าและใช้งานโมดูลไม่เพียงแค่ช่วยให้การพัฒนาโปรเจ็กต์ของเรามีประสิทธิภาพมากขึ้น แต่ยังช่วยให้การทำงานร่วมกันในทีมโปรเจ็กต์ราบรื่นขึ้น หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Node.js และโปรแกรมมิ่งเชิงลึก สามารถศึกษาได้เพิ่มเติมที่สถาบันต่างๆ หรือเข้าร่วมหลักสูตรของ Expert-Programming-Tutor (EPT) ที่มีเนื้อหาครอบคลุมตั้งแต่พื้นฐานไปจนถึงระดับสูง
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com