บทช่วยสอน Node JS: เรียนรู้ Node JS จาก Scratch

เผยแพร่แล้ว: 2022-02-17

เว็บไซต์และแอปพลิเคชันที่ต้องการการโต้ตอบกับผู้บริโภคทุกประเภทจำเป็นต้องมีเซิร์ฟเวอร์ส่วนหลัง เซิร์ฟเวอร์เหล่านี้ต้องสร้างขึ้นบนโปรแกรมแบบอะซิงโครนัสที่สามารถปรับขนาดได้และมีประสิทธิภาพ หนึ่งในแพลตฟอร์มโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดสำหรับการสร้างเซิร์ฟเวอร์และแอปพลิเคชันคือ Node.js ช่วยให้สามารถสร้างเว็บไซต์และแอปพลิเคชันหน้าเดียว แชทบอท และแพลตฟอร์มที่ขับเคลื่อนด้วยข้อมูล เช่น Netflix และ LinkedIn บล็อกนี้อธิบายว่า Node.js คืออะไร คุณสมบัติต่างๆ ของมันคืออะไร การติดตั้งและการสร้างแอปพลิเคชันบนโหนด

สารบัญ

Node.js คืออะไร?

Node.js สร้างขึ้นโดย Ryan Dahl ในปี 2009 เป็น สภาพแวดล้อมรันไทม์ JavaScript ข้าม แพลตฟอร์ม Node.js ขับเคลื่อนโดยเอ็นจิ้น V8 สามารถรันโค้ด JavaScript นอกเว็บเบราว์เซอร์ได้ นอกจากนี้ เนื่องจากเป็น แพลตฟอร์มฝั่งเซิร์ฟเวอร์ จึงให้สิทธิ์การเข้าถึงแบบจำกัดแก่ผู้ใช้ เฉพาะผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถเข้าถึงฟังก์ชันทั้งหมดได้ ในขณะที่ผู้ใช้รายอื่นสามารถดูได้เฉพาะข้อมูลที่จำกัด ตามชื่อที่แนะนำ โปรแกรมฝั่งเซิร์ฟเวอร์จะเรียกใช้และรันโค้ดสำหรับฝั่งเซิร์ฟเวอร์ ไม่ใช่ฝั่งไคลเอ็นต์

Node.js ใช้ Javascript ของ Google Chrome เพื่อสร้างแอปพลิเคชันเครือข่ายที่รวดเร็ว

อ่าน: ความแตกต่างระหว่าง Node JS และ React JS

คุณสมบัติต่างๆ ของ Node.js คืออะไร?

ต่อไปนี้เป็นคุณสมบัติที่สำคัญบางประการของ Node.js:

  • ปรับขนาดได้:- คุณลักษณะที่ต้องการมากที่สุดอย่างหนึ่งของซอฟต์แวร์แอปพลิเคชันคือความสามารถในการปรับขนาดได้ หมายถึงความสามารถในการปรับขนาดหรือเพิ่มความจุและฟังก์ชันต่างๆ เพื่อรองรับความต้องการของผู้ใช้ที่หลากหลาย แม้ว่าซอฟต์แวร์ที่ปรับขนาดได้จะผ่านการเปลี่ยนแปลงหลายอย่างตามความต้องการของผู้ใช้ แต่ปมของซอฟต์แวร์ก็ยังคงเหมือนเดิม สามารถรองรับคำขอจำนวนมากแบบคู่ขนานกัน ดังนั้น Node.js จึงอนุญาตให้โปรแกรมเมอร์สร้างแอปได้หลายเวอร์ชัน โดยแต่ละเวอร์ชันมีคุณสมบัติที่แตกต่างกันเพื่อตอบสนองความต้องการของผู้ชมเป้าหมาย
  • เธรดเดียว:- สถาปัตยกรรม Node.js ใช้เธรดเดียวเพื่อวนรอบเหตุการณ์ หมายความว่าแพลตฟอร์มต้องการเพียงลำดับเดียวเพื่อดำเนินการชุดคำสั่ง อำนวยความสะดวกในการดำเนินการคำสั่งเดียวในแต่ละครั้ง แอปพลิเคชันที่สร้างบน node.js ใช้สถาปัตยกรรมแบบเธรดเดียว มันจัดการไคลเอนต์หลายตัวพร้อมกันเช่น HTML, ASP.NET และ JSP เมื่อใดก็ตามที่ไคลเอนต์ส่งคำขอไปยังเซิร์ฟเวอร์ มันจะถึงการวนซ้ำที่ไม่สิ้นสุดในเว็บเซิร์ฟเวอร์พร้อมกับคำขอของลูกค้ารายอื่น เว็บเซิร์ฟเวอร์เลือกหนึ่งคำขอจากหลายคำขอในแต่ละครั้ง จากนั้นจึงรับหนึ่งเธรดจากพูล จากนั้นเธรดจะถูกกำหนดให้กับคำขอของไคลเอ็นต์ที่อ่าน ประมวลผล และดำเนินการอื่นๆ
  • การดำเนินการทันเวลา:- คุณลักษณะที่สำคัญอีกประการของ node.js คือการดำเนินการที่รวดเร็ว เนื่องจากแพลตฟอร์มใช้เอ็นจิ้น V8 JavaScript โค้ดรันไทม์จึงเร็ว
  • แบบอะซิงโครนัสและแบบขับเคลื่อนด้วยเหตุการณ์:- Node.js เป็นแพลตฟอร์มที่ขับเคลื่อนด้วยเหตุการณ์แบบอะซิงโครนัส ซึ่งบ่งชี้ว่ากระบวนการหรือฟังก์ชันต่างๆ ทำงานอย่างอิสระ ฟังก์ชั่นไม่ซิงโครไนซ์ เซิร์ฟเวอร์ node.js ไม่รอให้ Application Programming Interface (API) ส่งข้อมูล ทันทีที่เซิร์ฟเวอร์เข้าถึง API หนึ่ง เซิร์ฟเวอร์จะประมวลผลคำขออื่น ในการติดตามการตอบสนองของคำขอ API จะใช้เหตุการณ์เป็นกลไกการแจ้งเตือน มีองค์ประกอบหลักสามประการ – คิวเหตุการณ์ วนรอบเหตุการณ์ และพูลเธรด
  • ความเข้ากันได้กับแพลตฟอร์มต่างๆ:- Node.js สามารถใช้งานได้บนแพลตฟอร์มต่างๆ รวมทั้ง Windows, Linux, Mac และอุปกรณ์เคลื่อนที่
  • ไม่มีการบัฟเฟอร์:- ใน node.js ข้อมูลจะไม่บัฟเฟอร์ อันที่จริงแล้ว ข้อมูลปลายทางจะได้รับเป็นส่วนๆ

Node.js มีการใช้งานที่หลากหลายอย่างไร?

Node.js เป็นตัวเลือกยอดนิยมสำหรับการสร้างแอปพลิเคชันเนื่องจากความสามารถในการปรับขนาดและแอตทริบิวต์แบบอะซิงโครนัส ต่อไปนี้เป็นการใช้งานทั่วไปของ Node.js

  • แอปพลิเคชัน IoT:- เนื่องจากแอปพลิเคชัน IoT ต้องจัดการข้อมูลแบบไดนามิก จึงจำเป็นต้องมีกรอบงานเพื่อจัดการกับการไหลของข้อมูลจำนวนมาก Node.js เป็นซอฟต์แวร์ที่ปรับขนาดได้ สามารถจัดการการไหลของข้อมูลจำนวนมากได้
  • แอปพลิเคชั่นการสตรีมข้อมูล:- เป็นแอปพลิเคชั่นสตรีมเสียงหรือวิดีโอที่ส่งข้อมูลจำนวนมากในแพ็คเกจขนาดเล็ก Node.js มีโมดูลในตัวที่รองรับการสตรีมข้อมูล
  • แอปพลิเคชันแบบเรียลไทม์:- ตัวอย่างคลาสสิกของแอปพลิเคชันดังกล่าวคือแชทบ็อตที่ผู้ใช้ส่งข้อความและรับการตอบกลับทันที เนื่องจากความเร็วและความสามารถในการปรับขนาดได้สูง Nodes.js จึงเป็นแพลตฟอร์มในอุดมคติสำหรับการสร้างแอปพลิเคชันการแชทหรือการรับส่งข้อความแบบเรียลไทม์

การ อ่านที่มีประโยชน์ , คำถามและคำตอบในการสัมภาษณ์ Node.Js 41 อันดับแรกที่คุณต้องการทราบในปี 2022

การตั้งค่าสภาพแวดล้อม Node.js

คุณสามารถตั้งค่าสภาพแวดล้อมภายในเพื่อใช้ Node.js บนเดสก์ท็อปโดยใช้สององค์ประกอบ โปรแกรมแก้ไขข้อความ และไบนารี Node.js ที่ติดตั้งได้

  • โปรแกรมแก้ไขข้อความ:- คุณต้องใช้โปรแกรมแก้ไขข้อความ เช่น Windows Notepad, EMACS, Epsilon เพื่อพิมพ์โปรแกรม อย่างไรก็ตาม คุณต้องตรวจสอบให้แน่ใจว่าโปรแกรมแก้ไขข้อความเข้ากันได้กับระบบปฏิบัติการของคุณและอัปเดตเป็นเวอร์ชันล่าสุด คุณสามารถสร้างไฟล์ต้นฉบับด้วยโปรแกรมแก้ไขข้อความที่มีนามสกุล ".js"
  • รันไทม์ Node.js:- ซอร์สโค้ดอยู่ใน JavaScript ซึ่งแปลโดยล่าม node.js คุณสามารถใช้ไบนารี Node.js ที่ติดตั้งได้สำหรับ Windows, Mac และระบบปฏิบัติการอื่นๆ

จะสร้างแอปพลิเคชันแรกใน Node.js ได้อย่างไร

การสร้างแอปพลิเคชันบน Node.js มีสามขั้นตอน การนำเข้าโมดูลที่จำเป็น การสร้างเซิร์ฟเวอร์ และการอ่านคำขอและการตอบกลับ

  • นำเข้าโมดูลที่จำเป็น:- ในการโหลดโมดูลที่จำเป็นใน Node.js คุณต้องใช้คำสั่ง 'require' ตัวอย่างเช่น หากคุณต้องนำเข้าโมดูล HTTP คุณจะต้องพิมพ์ require (“http”)
  • การสร้างเซิร์ฟเวอร์ :- เนื่องจาก Node.js เป็นโมดูลฝั่งเซิร์ฟเวอร์ คุณต้องสร้างเซิร์ฟเวอร์โดยใช้โมดูลที่โหลด ดังที่เห็นในตัวอย่างข้างต้น คุณสามารถใช้ http.createServer() เพื่อสร้างเซิร์ฟเวอร์ คุณต้องไปที่คำสั่ง Node.js และเปิดพร้อมท์ใหม่เพื่อเริ่มเซิร์ฟเวอร์ หลังจากพิมพ์ cd desktop บนพรอมต์คำสั่ง คุณสามารถรัน main.js หรือไฟล์ต้นฉบับบนเดสก์ท็อปได้
  • คำขออ่าน:- หลังจากที่เซิร์ฟเวอร์เริ่มทำงาน คุณต้องร้องขอเซิร์ฟเวอร์ Node.js ที่สร้างขึ้นเพื่อทดสอบ เพื่อที่คุณจะต้องเปิด http://127.0.0.1:8081/ ในเบราว์เซอร์ คุณจะเห็นข้อความ “สวัสดีชาวโลก” ซึ่งหมายความว่าเซิร์ฟเวอร์กำลังรับคำขอ อย่างไรก็ตาม หากคุณทำการเปลี่ยนแปลงในไฟล์ต้นฉบับในภายหลัง คุณต้องรันคำสั่ง Node main.js อีกครั้ง

เทอร์มินัล REPL ใน Node.js

Node.js ประกอบด้วย The Read Eval Print Loop (RELP) ซึ่งเป็นสภาพแวดล้อมคอมพิวเตอร์ที่คล้ายกับเปลือก Linux ของคอนโซล Windows ช่วยในการทำการทดลองต่างๆ กับ Node.js และการดีบักโค้ด JavaScript คุณป้อนคำสั่งในสภาพแวดล้อมและรับเอาต์พุตในโหมดโต้ตอบ ต่อไปนี้เป็นงานสำคัญสี่ประการของ REPL Terminal:

  • อ่าน:- RELP อ่านอินพุตที่ได้รับจากผู้ใช้และนำผ่าน JavaScript และโครงสร้างข้อมูลเพื่อเก็บไว้ในหน่วยความจำ
  • Eval:- งานที่สำคัญอีกประการหนึ่งคือการประเมินโครงสร้างข้อมูล
  • พิมพ์:- หลังจากการประเมิน RELP จะช่วยพิมพ์ผลลัพธ์
  • วนซ้ำ:- ใน Node.js คำสั่งดังกล่าวจะทำงานแบบวนซ้ำจนกว่าผู้ใช้จะต้องกด ctrl-c สองครั้ง

นี่คือบางส่วนของคำสั่ง REPL ใน Node.js

  • Ctrl+C เมื่อสิ้นสุดคำสั่งต่อเนื่อง สองครั้งจะยุติ tye Node REPL
  • ปุ่มแท็บจะบอกให้คุณทราบรายการคำสั่งปัจจุบันทั้งหมด
  • .help แสดงรายการคำสั่งทั้งหมด
  • .break เสนอให้นักพัฒนาออกจากนิพจน์หลายบรรทัด
  • ชื่อไฟล์ .load ให้คุณโหลดเนื้อหาไฟล์ในเซสชัน REPL

เหตุการณ์วนรอบใน Node.js

ใน Node.js การเรียกกลับเป็นฟังก์ชันแบบอะซิงโครนัสที่คุณต้องดำเนินการหลังจากเสร็จสิ้นภารกิจเฉพาะ อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันเกือบทั้งหมดใน Node.js ต้องการการเรียกกลับ เหตุการณ์วนซ้ำใน Node.js ใช้ฟังก์ชันเรียกกลับ เมื่อโหนดเซิร์ฟเวอร์เริ่มทำงาน ลูปจะรอเหตุการณ์ใดๆ เกิดขึ้น หลังจากที่ฟังเหตุการณ์แล้ว ลูปจะทริกเกอร์ฟังก์ชันเรียกกลับ

บทสรุป

Node.js เป็นแพลตฟอร์มที่ปรับขนาดได้สูงพร้อมฟังก์ชันแบบอะซิงโครนัส บริษัทชั้นนำอย่าง Amazon, Netflix, Paypal, LinkedIn, Reddit และอื่นๆ ใช้ Node.js สำหรับการพัฒนาแบ็กเอนด์ แชทบอท และการดำเนินการอื่นๆ

หากคุณสนใจในการเขียนโปรแกรม การเขียนโปรแกรม และการพัฒนาซอฟต์แวร์ และต้องการสร้างอาชีพในสาขานี้ คุณควรมีความรู้เกี่ยวกับ Node.js วิธีที่ดีที่สุดในการเรียนรู้เกี่ยวกับ Node.js ตั้งแต่เริ่มต้นคือการศึกษาระดับปริญญาในสาขาวิทยาการคอมพิวเตอร์ คุณสามารถลงทะเบียนใน หลักสูตรวิทยาศาสตรมหาบัณฑิตสาขาวิชาวิทยาการคอมพิวเตอร์ใน upGrad ที่ เปิดสอนโดยมหาวิทยาลัย Liverpool John Moores

ลงทะเบียนเรียนหลักสูตรการพัฒนาซอฟต์แวร์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

Node.js คืออะไร?

Node.js เป็นสภาพแวดล้อมรันไทม์ที่ใช้ JavaScript ซึ่งทำงานบนเอ็นจิ้น V8 ของ Chrome เป็นแพลตฟอร์มที่ปรับขนาดได้ซึ่งใช้ฟังก์ชันอะซิงโครนัสและเธรดเดียวเพื่อสร้างแอปพลิเคชันที่ขับเคลื่อนด้วยข้อมูลในทางปฏิบัติ

Node.js ใช้ทำอะไร

Node.js เป็นที่นิยมใช้ในการสร้างเว็บไซต์หน้าเดียว แอปพลิเคชันมือถือ แบ็กเอนด์สำหรับแพลตฟอร์มเครือข่ายโซเชียลมีเดีย แชทบอท และแอปพลิเคชันที่ขับเคลื่อนด้วยข้อมูล

จะสร้างเซิร์ฟเวอร์ Node.js ได้อย่างไร?