NestJS ส่วนหนึ่ง — 1

Dec 06 2022
NestJS คืออะไร NestJS คือเฟรมเวิร์กสำหรับสร้างแอปพลิเคชันฝั่งเซิร์ฟเวอร์ Node.js ที่มีประสิทธิภาพและปรับขนาดได้

NestJS คืออะไร

NestJS เป็นเฟรมเวิร์กสำหรับสร้างแอปพลิเคชันฝั่งเซิร์ฟเวอร์ Node.js ที่มีประสิทธิภาพและปรับขนาดได้

มันใช้จาวาสคริปต์แบบโปรเกรสซีฟ สร้างขึ้นและรองรับ TypeScript อย่างสมบูรณ์ และรวมองค์ประกอบของ OOP (การเขียนโปรแกรมเชิงวัตถุ), FP (การเขียนโปรแกรมเชิงฟังก์ชัน) และ FRP (การเขียนโปรแกรมปฏิกิริยาเชิงฟังก์ชัน)

NestJS ใช้ประโยชน์จากเฟรมเวิร์กเซิร์ฟเวอร์ HTTP ที่มีประสิทธิภาพ เช่น Express

NestJS ให้ระดับของสิ่งที่เป็นนามธรรมเหนือเฟรมเวิร์ก Node.js ทั่วไปเหล่านี้ (Express/Fastify) และเปิดเผย API ของพวกเขาโดยตรงต่อนักพัฒนา สิ่งนี้ทำให้นักพัฒนามีอิสระในการใช้โมดูลของบุคคลที่สามจำนวนมหาศาลซึ่งมีให้สำหรับแพลตฟอร์มพื้นฐาน

ทำไมต้อง NestJS

  • NestJS เป็นเฟรมเวิร์กที่ทำให้การพัฒนาง่ายขึ้น NestJS มีกฎของตัวเองและไม่ได้มีไว้สำหรับการพัฒนาแบ็กเอนด์เท่านั้น กรอบนำเสนอสถาปัตยกรรมไมโครเซอร์วิส มันมีน้ำหนักเบา เรียบง่าย และเป็นโอเพ่นซอร์ส
  • มันใช้ประโยชน์จาก TypeScript
  • ใช้งานง่าย เรียนรู้ และเชี่ยวชาญ
  • Command Line Interface (CLI) อันทรงพลังเพื่อเพิ่มประสิทธิภาพการทำงานและการพัฒนาที่ง่ายดาย
  • เอกสารที่มีรายละเอียดและได้รับการดูแลอย่างดี
  • การพัฒนาและบำรุงรักษา codebase ที่ใช้งานอยู่
  • มันเป็นโอเพ่นซอร์ส
  • รองรับโมดูลเฉพาะรังจำนวนมากที่ช่วยให้คุณรวมเข้ากับเทคโนโลยีและแนวคิดทั่วไปได้อย่างง่ายดาย เช่น TypeORM, Mongoose, GraphQL, การบันทึก, การตรวจสอบความถูกต้อง, การแคช, WebSockets และอื่นๆ อีกมากมาย
  • การทดสอบหน่วยอย่างง่าย
  • รองรับแอพพลิเคชั่น Monoliths และ Microservices
  • สามารถใช้สร้างและปรับขนาดแอปพลิเคชันระดับองค์กรขนาดใหญ่ได้
  • กระบวนการพัฒนาที่รวดเร็วและมีประสิทธิภาพ
  • แอพพลิเคชั่นที่ปรับขนาดได้สูงและบำรุงรักษาง่าย
  • กรอบ Node.js ที่เติบโตเร็วที่สุดในช่วง 3 ปีที่ผ่านมา
  • ชุมชนขนาดใหญ่และระบบสนับสนุน
  • มันใช้สิ่งที่ดีที่สุดของ Node.js, TypeScript และรูปแบบสถาปัตยกรรมกันกระสุน
  • NestJS บังคับให้นักพัฒนาใช้สถาปัตยกรรมเฉพาะโดยแนะนำโมดูล บริการ และตัวควบคุม เพื่อให้มั่นใจว่าแอปพลิเคชันสามารถปรับขนาดได้ ทดสอบได้สูง และเชื่อมต่ออย่างหลวมๆ ซึ่งตรงกันข้ามกับเฟรมเวิร์ก Node.js อื่นๆ
  • ตัวควบคุมสำหรับจัดการคำขอและการตอบสนอง
  • โมดูลสำหรับการจัดโครงสร้างรหัสและการแยกการทำงานออกเป็นเชิงตรรกะและสามารถนำมาใช้ซ้ำได้
  • ผู้ให้บริการหรือบริการในการจัดการตรรกะที่ซับซ้อนและหลัก

โปรดตรวจสอบว่าได้ติดตั้ง Node.js (เวอร์ชัน >= 12 ยกเว้น v13) บนระบบปฏิบัติการของคุณแล้ว

เริ่มต้นใช้งาน

ติดตั้ง CLI แบบโกลบอลโดยใช้คำสั่ง npm install -g

npm install -g @nestjs/cli

การตั้งค่าโปรเจ็กต์ใหม่ทำได้ง่ายมากด้วย Nest CLI คุณสร้างโปรเจ็กต์ Nest ใหม่ได้ด้วยคำสั่งต่อไปนี้

nest new project-name

เมื่อกระบวนการติดตั้งเสร็จสมบูรณ์ คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มแอปพลิเคชัน:

npm run start

ในการเรียกใช้แอปพลิเคชันในโหมดการพัฒนาให้ใช้คำสั่งต่อไปนี้:

npm run start:dev

วัตถุประสงค์ของผู้ควบคุมคือการรับคำขอเฉพาะสำหรับแอปพลิเคชัน

กลไกการกำหนดเส้นทางจะควบคุมว่าคอนโทรลเลอร์ใดได้รับคำขอใด

บ่อยครั้ง ตัวควบคุมแต่ละตัวมีเส้นทางมากกว่าหนึ่งเส้นทาง และเส้นทางที่แตกต่างกันสามารถดำเนินการต่างๆ ได้

หากต้องการสร้างคอนโทรลเลอร์โดยใช้ CLI ให้รันคำสั่งต่อไปนี้

nest g controller name

การสร้างบริการแรก

ผู้ให้บริการเป็นแนวคิดพื้นฐานใน NestJS

คลาส NestJS พื้นฐานหลายคลาสอาจถือเป็นผู้ให้บริการ เช่น บริการ ที่เก็บ โรงงาน ผู้ช่วยเหลือ และอื่นๆ แนวคิดหลักคือความสามารถในการฉีดให้เป็นที่พึ่งพา

หากต้องการสร้างบริการโดยใช้ CLI เพียงดำเนินการคำสั่งต่อไปนี้

nest g service name

การสร้างโมดูลแรก

โมดูลคือคลาสที่มีคำอธิบายประกอบด้วย @Module() มัณฑนากร

มัณฑนากร @Module() ให้ข้อมูลเมตาที่ NestJS ใช้เพื่อจัดระเบียบโครงสร้างแอปพลิเคชัน

แต่ละแอ็พพลิเคชันมีโมดูลรูทอย่างน้อยหนึ่งโมดูล

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

หากต้องการสร้างโมดูลโดยใช้ CLI เพียงดำเนินการคำสั่งต่อไปนี้

nest g module name

บทสรุป

ในบล็อกนี้ เราได้เรียนรู้วิธีสร้างโมดูล บริการ และตัวควบคุม วิธีเรียกใช้เซิร์ฟเวอร์ และสร้างโครงการพร้อมกับแนวคิดหลักบางประการ

คอยติดตามส่วนอื่นของบล็อกนี้

ผู้แต่ง:- Lavesh Katariya

ติดตามเราได้ที่https://www.linkedin.com/company/brilworks

ติดต่อเราhttps://www.brilworks.com/contact-us/