ก่อนที่จะเริ่มสร้าง Web Server ด้วย Node.js ก่อนอื่นเรามาทำความรู้จักกับ Node.js ก่อน
Node.js คืออะไร?
Node.js คือ Cross-Platform JavaScript Runtime Environment อธิบายง่ายๆก็คือ Node.js จะทำให้เราสามารถใช้ภาษา JavaScript มาทำงานในฝั่ง Backend หรือ ฝั่ง Server ได้ ซึ่งแต่ก่อน JavaScript ถูกพัฒนามาเพื่อใช้งานกับ Web Browser เท่านั้น แต่พอ Node.js ถูกสร้างขึ้นมาจึงทำให้เราสามารถใช้ภาษา JavaScript ได้ทั้งฝั่ง Frontend และ Backend ได้เลย
หากเพื่อนๆคนไหนยังไม่ได้ติดตั้ง Node.js สามารถดูวิธีการติดตั้งได้ที่ วิธีการติดตั้ง Node.js ในหัวข้อ การติดตั้ง Node.js และ NPM
เริ่มต้นสร้าง Web Server ด้วย Node.js
ก่อนอื่นเราจะต้องใช้คำสั่ง npm init -y เพื่อสร้างไฟล์ package.json สำหรับจัดการ Dependencies และ Scripts
npm init -y
เราจะใช้ Module ที่ชื่อว่า http ซึ่งเป็นหนึ่งใน Node.js Built-in Modules มาใช้เพื่อสร้าง Web Server ของเรากัน
เริ่มต้นด้วยด้วยการสร้างไฟล์ index.js ขึ้นมาตรง Path เดียวกันกับ package.json หลังจากนั้นใช้คำสั่ง const http = require(‘http’) เพื่อที่จะเอา Module ที่ชื่อว่า http มาใช้งานในหน้านี้
const http = require('http')
ต่อมาเราจะใช้เมธอด http.createServer() ซึ่งจะอยู่ใน Module http เพื่อสร้าง HTTP server โดยใช้คำสั่ง
const server = http.createServer((req, res) => {
});
โดยข้างในเราจะใช้คำสั่ง
res.writeHead(statusCode, [reasonPhrase], [headers]);
res.end('text');
res.writeHead() คือ Method ใช้สำหรับสร้างข้อมูล Header ของ HTTP Response เพื่อส่งกลับไปยัง Client โดยที่เราสามารถ กำหนด Response Status Code และ อื่น ๆ ได้ ในบทความนี้จะใช้ Status Code 200 แปลว่าทำงานสำเร็จ
res.end() คือ Method ใช้สำหรับบอก Client ว่า Respose ทั้งหมดถูกส่งไปแล้ว
จะได้คำสั่งว่า
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Borntodev\n');
});
ขั้นตอนสุดท้ายของการเขียนโค๊ดเราจะใช้ฟังก์ชัน server.listen() เพื่อเริ่มต้นใช้งาน HTTP Server โดยจะใช้คำสั่งว่า
server.listen(3000, () => {
console.log(`Server is running on port 3000`);
});
ตัวเลข 3000 คือหมายเลขพอร์ต (Port Number) ที่เซิร์ฟเวอร์ของเราจะใช้ในการรับ HTTP Requests เข้ามา ดังนั้นเมื่อมี HTTP Request เข้ามาที่เซิร์ฟเวอร์ และถ้าพอร์ตของ Request นั้นตรงกับพอร์ตที่เซิร์ฟเวอร์กำหนด (ในที่นี้คือ 3000) เซิร์ฟเวอร์ก็จะรับ Request นั้นและทำการ Response
เพียงเท่านี้เราก็จะได้ Web Server แรกของเราแล้ว สุดท้ายเราจะสามารถทดสอบหรือเริ่มใช้งาน Web Server ของเราได้ด้วยการใช้คำสั่ง
node index.js
และใส่ URL ใน Web Browser ของเรา
http://localhost:3000/
เราก็จะได้ผลลัพธ์ว่า Hello Borntodev ตามที่เราเขียนไว้นั่นเอง
ในบทความนี้เราได้เรียนรู้เกี่ยวกับ Node.js ว่ามันคืออะไร และทำไมมันถึงสำคัญ รวมถึงวิธีการเริ่มต้นสร้าง Web Server แรกของเราด้วย หวังว่าบทความนี้จะมีส่วนช่วยเหลือทุกคนในการเริ่มต้นใช้งานหรือสร้าง Web Server โดยใช้ Node.js
แหล่งข้อมูลอ้างอิง
https://nodejs.org
https://www.borntodev.com/2023/11/26/การทำระบบไฟล์อัพโหลดด้