Category Archives: Node.js

Node.js

1. Introduction

  • ดาว์นโหลด
  • ใช้ Node.js ทาง Terminal
  • ใช้ Node.js จากไฟล์ที่พิมพ์คำสั่งไว้
  • สร้าง Web server แบบง่าย ๆ

2. การใช้งาน Terminal

  • เรียกใช้ Terminal
  • การคำนวณง่าย ๆ
  • การใช้ตัวแปร
  • การใช้คำสั่งแบบหลายบรรทัด
  • ตัวแปร Underscore
  • การเรียกดูคำสั่งของ Node

3. การจัดการโมดูลด้วย npm

  • ติดตั้งโมดูลด้วย npm แบบ local mode
  • เตรียม Application ก่อนติดตั้ง
  • ทดลองติดตั้งโมดูล express
  • ทดลองเรียกใช้งานโมดูล express
  • Updating a module
  • Uninstalling a module

Deploy Node.js บน Heroku

สิ่งที่ต้องเตรียมก่อนจะทำการ deploy node.js บน Heroku

  • ต้องมี Heroku account
  • ติดตั้ง node.js พร้อม npm
  • ติดตั้ง Heroku Toolbelt

การติดตั้ง node.js และ npm ให้ดาวน์โหลดได้จาก nodejs.org/  และสำหรับ Heroku Toolbelt ให้ดาน์โหลดจาก toolbelt.heroku.com/
พร้อมแล้วเริ่มต้นด้วยการ login Heroku โดยเปิด Git Bash แล้วใช้คำสั่ง

$ heroku login

ใส่อีเมล พร้อมรหัสผ่านของ Heroku account ลงไป

node.js app ที่จะนำมาทดลอง deploy บน heroku ให้ clone repository ผ่านคำสั่ง

$ git clone https://github.com/heroku/node-js-getting-started.git

เมื่อ clone repository ตัวอย่างมาเรียบร้อยแล้ว ให้เข้าไปยัง path ของ repository ด้วยคำสั่ง

$ cd node-js-getting-started

จากนั้นใช้คำสั่ง

$ heroku create

ในการสร้าง app บน Heroku เพื่อรอรับ node.js app ที่เราจะทำการ deploy ขึ้นไปกัน โดยเมื่อใช้คำสั่งดังกล่าว Heroku จะ generate ชื่อ app โดยการสุ่ม เช่น https://safe-brushlands-1198.herokuapp.com/

จากนั้นเราจะทำการ deploy โค้ดตัวอย่างของ node.js app ที่ได้ clone ลงมา เพื่อนำไป deploy ไปบน Heroku ผ่านคำสั่ง

$ git push heroku master

เป็นอันเสร็จสิ้นการ deploy ลองตรวจสอบการทำงานของ app ที่ deploy ไปด้วยคำสั่ง

$ heroku ps:scale web=1

จากนั้นก็ทดลองเปิด node.js app ด้วย URL ที่ถูก generate ขึ้นมา หรือใช้คำสั่ง

$ heroku open

โดยหลังจากรันคำสั่งดังกล่าว node.js app ที่เราได้ทำการ deploy ไปเมื่อสักครู่ก็จะถูกเปิดขึ้นมา

heroku

การดู logs ให้ใช้คำสั่ง

$ heroku logs –tail

ลองเรียกหน้าเว็บแอพอีกที จะเห็น log ทำการแสดงตลอดเวลา หากต้องการหยุดให้ กด Ctrl+C

ที่มา: http://thaiopensource.org/

ต่อไปก็ไปศึกษา Getting Started with Node.js on Heroku ที่ https://devcenter.heroku.com/articles/getting-started-with-nodejs

Node.js

Node.js คือ

– Cross Platform Runtime Environment สำหรับฝั่ง Server พัฒนาขึ้นด้วยภาษา JavaScript
– Platform ตัวหนึ่งที่เขียนด้วย JavaScript ทำงานเป็น Web Server

ดาวน์โหลดและติดตั้ง Node.js

ดาวน์โหลด Node.js ได้จากหน้าเว็บ https://nodejs.org/ สำหรับ Windows จะได้ไฟล์ node-v4.2.1-x64.exe
การติดตั้งจะได้ Node และ npm (Node Package Manager) ซึ่งเป็นตัวจัดการ package/module ต่างๆของ Node มาด้วย
จากนั้นทำการทดสอบ

$ node -v
v4.2.1

$ npm -v
2.14.7
ถ้าได้หมายเลขอเวอร์ชัน ก็แสดงว่าติดตั้งเรียบร้อย

เริ่มต้น Node.js

เปิด command prompt แล้วเรียกใช้งาน node ด้วยคำสั่ง node

$ node

สั่งพิมพ์ออกหน้า console ด้วย console.log

> console.log(“OK”);
console.log(“OK”);
OK
undefined
>

สร้างฟังก์ชัน sayHi()

> function sayHi() {return “HI”;}
undefined
> sayHi();
‘HI’
>

ทดลองบวกเลข

> 10 + 10
20
>

ทดสอบโดยการสร้างไฟล์ JavaScript ขึ้นมา เช่น test.js จากนั้น ใส่โค๊ดด้านล่างลงไป

console.log(‘Hello Node.js’);

function sayHi() {
return ‘Hi!’;
}

console.log(sayHi());

คำสั่งที่ใช้ให้ Node รันไฟล์ JavaScript คือ node <filename> เช่น

node test.js

จะได้ผลลัพธ์ดังนี้

Hello Node.js
Hi!

ตัวอย่างเว็บเซอร์เวอร์ แสดงข้อความ Hello World

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

  • require(‘http’) : เป็นการ import module http ซึ่งเป็น module หลักของ Node.js
  • createServer() : เป็นการสร้าง Server ของ Node.js โดยรับ function ที่มี request และ response
  • res.writeHead() : เป็นการกำหนด Content Type
  • res.end() : เป็นการสิ้นสุด response และส่งคำว่า Hello World
  • .listen(port, address) : เป็นการกำหนด port และ address ของเว็บ Server (address เป็น optional)

บันทึกโค๊ดไว้ในไฟล์ชื่อ server.js จากนั้นทำการสั่งรัน Node บน command line ด้วยคำสั่ง :

node server.js

จากนั้นเปิดเว็บบราวเซอร์ที่ http://localhost:1337/ จะเห็นข้อความ Hello World แสดงบนจอภาพ

ที่มา http://devahoy.com