ข้ามไปที่เนื้อหาหลัก

เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Node.js ตอนที่ 5 แนะนำ Express

 เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Node.js ตอนที่ 5 แนะนำ Express

ผมเชื่อว่าหลายคนคงรู้จัก Express โดยเฉพาะที่คุ้นเคยกับโปรแกรมบัญชีที่ชื่อว่า Express (ตอนที่ผมหาข้อมูลแรกๆก็คิดเหมือนกันแหล่ะครับ) แต่มันไม่ใช่ Express ที่เป็นโปรแกรมเกี่ยวกับบัญชี

Express คือ Framework ที่ใช้จัดการคำขอ Request และ Response ที่ส่งมาจาก HTTP หรือ Web Browser หรือเรียกง่ายๆว่า Middleware เป็นตัวกลางหรือ Server ในการจัดการเส้นทางระหว่างเครื่องลูกข่ายและแม่ข่ายด้วยภาษา Java Script (ดังที่ผมกล่าวมาแล้วตอนแรก เพราะ Node.js เป็นภาษา Java Script ดังนั้น Express ก็เลยทำงานด้วยภาษา Java Script นั่นเอง)

Middleware อย่างง่าย

การทำงานของ Middleware นั้นถ้าไม่เป็นพิธีอะไรมาก จะกำหนดค่าอย่างง่าย เพื่อให้ข้อความที่เราต้องการแสดงผลทาง Web Browser ผมจะเขียนตัวอย่างง่ายๆ ให้ดูครับ

ตัวอย่าง ต้องการแสดง Hello World (อีกแล้ว) ออกไปที่ Google Chrome (เดี๋ยวบางท่านอาจจะไม่รู้จัก Web Browser เลยต้องบอก Google Chrome ไว้ก่อน) ถ้าหากติดตามตอนที่ 2 มาแล้วก็แสดงว่าติดตั้ง Node.js ในเครื่องเรียบร้อยแล้ว

1. เปิด Visual Studio Code ต่อไปผมจะพิมพ์คำว่า VS Code แทนนะครับ แล้วสร้างโฟลเดอร์ที่ทำงาน จากนั้น สร้างไฟล์ app.js ขึ้นมา

2. ทำการติดตั้ง Express ด้วยคำสั่ง npm ให้เปิด Terminal ใน VS Code ขึ้นมาแล้วพิมพ์คำสั่ง

npm install express

 ตัวโปรแกรมจะทำการติดตั้งให้เองโดยอัตโนมัติ (ง่ายดีไหมล่ะ) จะมี error ไม่ต้องสนใจครับ


3. เขียน Code ลงไปใน app.js ดังนี้

var express = require('express');
var app = express();

app.get('/', function (req, res, next) {
res.send("<h1>Hello World</h1>");
});

app.listen(8000);
พยายามให้พิมพ์เองนะครับ อย่า Copy เพราะเป็นการฝึกให้ชิน แต่ถ้าเป็นพวก Bootstap หรือ CSS อื่นๆ จะ Copy ก็ได้ไม่ว่ากัน ขอเพียงรู้คำสั่งสักนิดครับ

4. ทำการ seve file แล้วเปิด Terminal แล้ว run ด้วยคำสั่ง node app.js



จาก Code ข้อ 3 อธิบายดังนี้

1. var express = require('express'); เป็นการประกาศตัวแปร express โดยการนำ express หรือ middleware ที่ติดตั้งเข้ามาทำงานในไฟล์
2. var app = express(); เป็นการประกาศใช้งานอ็อบเจ็คที่อยู่ใน middleware ครับ เมื่อเราประกาศแล้วเราจะสามารถใช้อ็อบเจ็คต่างๆใน express ได้ เช่นบรรทัดที่ 3
3. app.get('/', function (req,res, next){ บรรทัดนี้จะเรียกอ็อบเจ็ค get ใน express มาใช้งานเพื่อแสดงผลไปยัง '/' ซึ่งก็คือหน้าแรก จากนั้นประกาศเรียกใช้ฟังก์ชัน req, res, next
4. res คือ response หรือส่งค่ากลับออกไปยัง '/' โดยมีข้อความว่า Hello World ที่เป็นหัวข้อตัวใหญ่ <H1></H1> โดย res จะมีการส่งหลายรูปแบบ แต่ในตัวอย่างเป็น res.send
5. app.listen(8000); เป็นการกำหนด port ให้ localhost ในเครื่องของเราดังนั้นเวลาเรียกใช้งาน localhost ต้องมี port ตามด้วยคือ http://127.0.0.1:8000 จะได้ผลลัพธ์ในรูปด้านล่าง


สรุป Express คือ Framework สำหรับ server ที่ใช้จัดการกับ Request และ Response ที่ทำงานร่วมกับ Web Browser โดยเรารับค่าจาก Browser นั่นคือ req หรือ Request ซึ่งรับได้ทั้ง get และ post (get และ post คือการส่งค่าเช่น username และ password จากช่องกรอกข้อความใน web browser มายัง server) และส่งค่า res หรือ Response กลับไปหาลูกข่าย ซึ่งส่งผลเป็น get ไปแสดงข้อความบนหน้าเว็บ 
สำหรับบทความนี้ จบเพียงเท่านี้ครับ พบกันใหม่บทความหน้า สวัสดีครับ

ความคิดเห็น

Kamol Khampibool กล่าวว่า
บทความที่ 6 มาแล้ว สร้าง Web server อย่างง่ายๆ ด้วย Express กันครับ
เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Node.js ตอนที่ 6 การสร้าง Web Server ด้วย Express
https://hellokamol.blogspot.com/2020/10/nodejs-6-web-server-express.html

โพสต์ยอดนิยมจากบล็อกนี้

ส่วนประกอบของเมนบอร์ด คอมพิวเตอร์ PC

ส่วนประกอบของเมนบอร์ด คอมพิวเตอร์ PC เมนบอร์ดเป็นแผงวงจรหลักที่สำคัญที่สุดของคอมพิวเตอร์ ดังนั้น จึงควรรู้จักตำแหน่งของอุปกรณ์ต่างบนเมนบอร์ดเสียก่อน จึงจะสามารถประกอบเครื่องคอมพิวเตอร์ได้ อุปกรณ์หลักที่สำคัญก็มีช็อกเกตสำหรับติดตั้งซีพียู, ช็อกเกตแรม และซิปเซตที่ทำหน้าที่ควบคุมอุปกรณ์ทั้งหมด หัวต่อและสล็อตสำหรับติดตั้งอุปกรณ์และการ์ดต่างๆ รวมไปถึงหัวต่อกับอุปกรณ์ภายนอกที่ต่อออกทางด้านหลังเครื่อง อุปกรณ์ที่ติดตั้งบนเมนบอร์ดได้แก่  1. ช็อกเกตซีพียู (CPU Socket) ช็อกเกตซีพียู เป็นตำแหน่งติดตั้งซีพียู โดยรูปแบบของช็อกเกตจะแตกต่างกันไปตามยี่ห้อและรุ่นของซีพียู การซื้อเมนบอร์ดจะต้องตรวจสอบว่าต้องการใช้กับซีพียูยี่ห้อใดและรุ่นไหน หากซื้อซีพียูที่มีช็อกเกตไม่ตรงกับเมนบอร์ดจะไม่สามารถใช้งานได้ ปัจจุบันจะมีช็อกเกตที่ใช้งานบนเมนบอร์ดคือ Intel LGA 775,  Intel LGA 1150, Intel LGA 1151, Intel LGA1155 และ Intel LGA 2066 ใช้สำหรับซีพียู Intel ทั้งหมด แต่ต้องดูด้วยว่า ซีพียู อินเทลใดใช้ช็อกเกตเท่าไหร่ ส่วน AMD AM4, AMD sTRX4 และ AMD TR4 จะใช้สำหรับ CPU AMD เท่านั้นซึ่งก็เหมือนกับ...

รวม Code Debug Card Mainboard

รวม Code Debug Card Mainboard สำหรับช่างซ่อมคอมมือใหม่ที่มีเครื่องมือ Debug Card เป็นตัวช่วยแล้ว บางครั้งอาจจะไม่รู้ว่าค่า Error Code นั้นคืออะไร ผมได้สืบหาข้อมูลและเขียนเพื่อเตือนความจำของตนเองไว้ เพราะไม่ค่อยได้ใช้ตัว Debug Card นี้เช่นกัน นานๆครั้งมาใช้นั้น ค่อนข้างที่จะค้นหาข้อมูลอย่างลำบากเช่นกัน ผมจึงได้รวบรวมข้อมูลมาจากเว็บที่หาข้อมูลได้ ขอขอบคุณเจ้าของข้อมูลด้วยครับ CODE : ความหมาย 00 : ไม่มีสัญญาณให้เช็ค CPU หรือลองหา CPU ตัวใหม่มาเปลี่ยนดูครับ 01 : CPU TEST รอบที่ 1 02 : CPU TEST รอบที่ 2 04 : TEST Memory รีเฟรช ของอุปกรณ์ ต่าง ๆ  05 : Key board controller อาจมีปัญหา 07 : BIOS battery อาจจะหมด 0B : TEST cmos checksum 0D : เช็ค VGA CARD Interface C0 : ทดสอบหน่วยความจำและ slot(ลองฉีด สเปรย์สารพัดพิษดูครับ) 0E : เช็คหน่วยความจำ VGA(ลองหาตัวใหม่มาเปลี่ยนดูครับ)  11 :อาจมีปัญหาที่ DMA controller 41 : ให้ตรวจสอบ FLOPPY Drive 42 : .ให้ตรวจสอบ HARD DISK 43 : ค้นหาและตรวจสอบ serial และ parallel port 45 : ให้เช็ค Mainboard ว่าเข้า...

พอร์ตเชื่อมต่อต่างๆบนเมนบอร์ด

พอร์ตเชื่อมต่อต่างๆบนเมนบอร์ด พอร์ตเชื่อมต่อแบบต่างๆ คือ หัวต่อที่ใช้เชื่อมต่อกับอุปกรณ์ภายนอก เช่น คีย์บอร์ด เมาส์ และเครื่องพิมพ์ สายแลน เป็นต้น ลักษณะของหัวต่อแต่ละแบบจะมีมาตรฐานและแตกต่างกันออกไปอยู่แล้ว จึงไม่ต้องกังวลว่าจะเสียบผิดรูปแบบ เพราะแต่ละหัวต่อจะมีรูปแบบไม่เหมือนกัน พอร์ตเชื่อมต่อต่างๆบนเมนบอร์ด มีดังนี้ 1. หัวต่อคีย์บอร์ดหรือเมาส์แบบ PS2 จะใช้คีย์บอร์ดก็ได้ หรือเมาส์ก็ได้ ปัจจุบันหัวต่อ PS2 ได้เลิกใช้งานไปแล้ว 2. หัวต่อ USB 2.0 ใช้สำหรับเชื่อมต่อ อุปกรณ์ต่างๆที่ใช้สาย USB ต่าง ความเร็วในการโอนถ่ายข้อมูล USB 2.0 นี้มีมากถึง 480 Mbps  3. หัวต่อจอภาพ แบบ Display port ใช้สำหรับเชื่อมต่อจอภาพที่เป็นประเภท Display port ส่งข้อมูลภาพได้สูง เหมาะสำหรับทำ Multi Display หรือการเชื่อมต่อหลายๆจอภาพ 4. หัวต่อจอภาพแบบ HDMI ปัจจุบัน (ปี 2020) เริ่มมีการใช้มากขึ้น เนื่องจากส่งข้อมูลความละเอียดภาพได้มากถึง 4K และอนาคตจะมีการพัฒนาเพิ่มขึ้นอีก 5. หัวต่อจอภาพแบบ DVI เป็นการพัฒนาการส่งออกจอภาพต่อจาก VGA เป็นช่วงเวลานึง ปัจจุบันจะไม่ค่อยมีใช้แล้ว 6. หัวต่อจอภาพแบบ VG...