ในตอนก่อนหน้านี้ เราได้ลองใช้ http และ fs (File System) ที่เป็น Modules ที่มีมาให้ของ Node.js กันแล้ว สำหรับสร้าง Web Server และจัดการเกี่ยวกับไฟล์ ในตอนนี้เราจะนำทั้งสองมาใช้งานร่วมกันเพื่อสร้าง Web Server แบบ Static Web Page
Static Web Page คือ หน้าเว็บไซต์ที่สร้างด้วย HTML, CSS, Javascript หน้าเว็บไม่มีการเปลี่ยนแปลง เป็นเหมือนเดิมทุกครั้งที่เข้าใช้ชมเนื่องจากไม่มีการเชื่อมต่อฐานข้อมูล Static Web Page ถือเป็นการสร้างเว็บไซต์แบบง่ายที่สุด
การสร้าง Web Server แบบ Static Web Page ทำได้ดังนี้
1. สร้างไฟล์หน้าเว็บขึ้นมา 1 ไฟล์ ชื่อ demo.html
<html>
<head>
<title>Demo</title>
</head>
<body>
<h1>Demo</h1>
<p>This is demo page.</p>
</body>
</html>
2. สร้าง Server ด้วย http ต่อมาเมื่อมี req (request) เข้ามาให้อ่านไฟล์ demo.html แล้วส่งข้อมูลที่อ่านได้หลับไปด้วย res (response)
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) { // สร้าง Web Server
fs.readFile('demo.html', function (err, data) { // อ่านไฟล์ demo.html
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write(data); // ส่งข้อมูลอ่านมากลับไปด้วย res.write(data)
res.end();
});
}).listen(8081);
console.log("Server running at http://127.0.0.1:8081/");
เท่านี้เราก็ได้ Web Server แบบ Static Web Page แล้ว แต่จากตัวอย่างไม่ว่าจะเข้ามาผ่าน URL เป็นอะไรก็จะส่งออกไปด้วย demo.html หมด ในตอนต่อไปจะมาลองทำแบบหลายๆ หน้ากันครับ