วันอังคารที่ 29 เมษายน พ.ศ. 2557

HTML5 : node.js and WebSocket - Part 1 Installation and setup


node.js คือ โปรแกรมที่รันบน server-side แต่เขียนด้วย javascript ซึ่งถูกรันด้วย Java Script Engine ของ Google
ความสามารถเบื้องต้น
สามารถตั้งตนเป็น HTTP Server และเปิด Socket ได้ แต่จริงๆ ยังมีอีกหลายอย่างนะครับ ขอ scope แค่นี้ก่อน

ซึ่งผมจะเน้นในการเปิด Socket เพื่อใช้ทำ WebSocket ตาม standard ของ HTML5 เป็นหลักครับ
Mission Start

Mission 1 -> Install node.js
http://nodejs.org/
ผมใช้ node-v0.10.26-x64.msi เป็นตัวติดตั้งครับ (เครื่องผมเป็น Window)
จากนั้นก็ install จนเสร็จ
มาดูโครงสร้างกัน
 

ใน nodejs มี

- npm.cmd เป็นพระเอกในการจัดการ module ต่างๆ ผมเดาว่าย่อมาจาก node package manager ผมคิดเองนะครับ 555 ตัวอย่างคำสั่ง npm install socket.io

- node.exe ใช้ในการรัน script ที่เราเขียนไว้นะครับ เช่น node server.js

- โฟลเดอร์ node_modules สังเกตว่าจะมีสองที่ครับคืออยู่ที่ root แล้วอยู่ใน npm อีกที ส่วนตัวผมเวลา install module ใหม่ ผมจะลงไปใน node_modules ของ npm เลยครับ จะได้อ้างที่เดียว เห็นมี module อื่นอยู่เยอะดีครับ

Mission 2 -> setup environment
สร้าง environment variable ชื่อ NODE_PATH ให้มีค่า
E:\Program Files\nodejs\node_modules\npm\node_modules นี่เครื่องผมครับ ใครลงตรงไหนก็ปรับไปละกันครับ ซึ่ง NODE_PATH

ตัว node.js จะใช้ในการอ้างไปยัง module ที่เราจะเรียกใช้ครับ ดังนั้นหากเราใส่ module เข้าไปที่โฟลเดอร์นี้ เราก็จะสามารถอ้างถึง module ที่ลงใหม่ได้ทันทีครับ



Mission 3 -> มาลง module ที่จำเป็นกันเถอะครับ
module ของ node.js มีเยอะแยะครับ ต่อ database ต่อ websocket และ utility ต่างๆ ครับ ที่เราจะใช้งานคือ socket.io และ formidable

เข้า command line ครับ จากนั้น ไปที่ E:\Program Files\nodejs\node_modules\npm
- รัน npm install socket.io
- รัน npm install formidable

ปล. ลงแล้วไปเช็คใน node_modules ว่ามี socket.io เพิ่มมารึเปล่านะครับ ถ้ามีก็โอเคครับ ถ้าลงผิดที่ก็ลบ socket.io ตัวที่ผิดแล้วรันใหม่ได้เลยครับ เป็นการการ download script มาไว้ในเครื่องเฉยๆ ไม่ต้องหา uninstall ครับ


ใครอยากรู้ว่ามีคำสั่งอะไรบ้างลอง npm help ได้นะครับ


Last Mission -> test
มาสร้างไฟล์ทดสอบกันครับ

// hello_world.js
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1333, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1333/');

โอเค นี่คือการทำ Hello World แบบฉบับ node.js ครับ รันด้วย node hello_world.js
จากนั้นเปิด browser ครับแล้วพิมพ์ http://127.0.0.1:1333/ คุณก็ได้จะได้ Hello World ดังใจ



Trick
ในการรันเราสามารถสร้าง .bat มาใช้ได้ครับเพื่อสะดวกในการรัน

// hello_world.bat ไว้ที่เดียวกับ hello_world.js ครับ
node hello_world.js

เวลารันก็แค่คลิก hello_world.bat ก็เรียบร้อย

ไม่มีความคิดเห็น:

แสดงความคิดเห็น