
NestJS เข้าใจไม่ยาก ถ้าเราลงมือ
NestJS เข้าใจไม่ยาก ถ้าเราลงมือ
บทความนี้เป็นบทความ Introduction NestJS ฉบับ Basic เพื่อให้ผู้อ่านเข้าใจได้ง่ายสำหรับก่อนเริ่มต้นบทความแนะนำผู้อ่านศึกษา Javascript มาเบื้องต้นด้วยนะครับ

NestJS คืออะไร
NestJS เป็น Framework สำหรับ Build Node.js ในฝั่ง Server-side Applications โดยสนันสนุนการทำงานแบบ - TypeScript เต็มรูปแบบ - OOP (Object Oriented Programming) - FP (Functional Programming) - FRP (Functional Reactive Programming)
การทำงานของ NestJS ใช้ HTTP Server frameworks แบบเดียวกับ Express เป็น default แต่สามารถใช้งาน configured Fastify ได้
NestJS นั้นอนุญาตให้ developers สามารถพัฒนา Software ได้อย่างอิสระภายใต้ modules ของตัว Nest เอง
ติดตั้ง NestJS
ในการติดตั้ง NestJS นั้นสามารถทำได้อยู่ 2 วิธี คือ การติดตั้งผ่าน Nest CLI หรือ clone ด้วย starter project บน gitlab
บทความนี้จะพูดถึงการติดตั้งแบบ Nest CLI
ขั้นแรกทำการ npm CLI ของตัว NestJS มาก่อนนะครับ
npm i -g @nestjs/cli
จากนั้นทำการ create project ขึ้นมา
nest new project-name

ส่วนเลือกได้ตามชอบเลยครับ เมื่อทำการ create เสร็จ ก็จะได้หน้าตา source code ประมาณนี้ครับ

ส่วนรายละเอียดของแต่ละไฟล์ไว้จะมาเล่าในบทความถัดไปนะครับ โดยบทความนี้จะเล่าถึงตัว Nest CLI ไปก่อน
Nest CLI
Nest CLI เป็น command-line interface ที่ให้เราสามารถ initialize project ได้ง่ายขึ้น โดยตัว Nest CLI จะช่วยให้โครงสร้างของเว็บเป็นไปตาม best-practice ของตัว Nest เองง่ายต่อการพัฒนา ทำให้ code ดูสะอาดตา อ่านง่าย
Example Nest CLI
nest --help // ดูคำสั่งของตัว cli
nest -h // คำสั่งโดยย่อ
nest generate <schematic> <name> [options] // เป็นคำสั่งสร้าง file ต่างๆ
nest g <schematic> <name> [options] // คำสั่งโดยย่อ
<schematic> คือ สิ่งที่เราจะสร้าง <name> คือ ชื่อของสิ่งที่เราจะสร้าง [options] คือ ตัวเลือกเพิ่มความสามารถของสิ่งที่เราจะสร้าง
ยกตัวอย่าง
nest g controller cats --no-spec
// เป็นคำสั่งสร้าง controller ชื่อ cats แบบไม่สร้าง file test เดิม default ต้องสร้าง file test ด้วยเสมอ

สิ่งที่ได้คือ Nest CLI จะสร้างโครงสร้างของ controller cats ให้และทำการ import controller cats ไปไว้ใน app module ให้ด้วย
ในลักษณะเดียวกันถ้าเราเลือก schematic อื่น ก็จะได้โครงสร้างที่จัดเรียงให้ในแบบนี้ตัวอย่างเช่น สร้าง module cats
nest g module cats --no-spec
ผลลัพธ์ที่ได้จะเกิดแบบนี้ครับ

ตัว Nest CLI ยังมีให้ใช้งานอีกหลายตัวครับสามารถไปดูได้ตามนี้ครับ Link
ในบทความถัดไปเราจะมาพูดถึงเรื่องของโครงสร้างต่างๆ กันต่อนะครับส่วนบทความนี้จบไว้เท่านี้ก่อนครับ
บทความที่เกี่ยวข้อง
เทคโนโลยี
TypeScript คืออะไร? แล้วคุณรู้หรือไม่ว่าใช้งานยังไง
บทความแนะนำภาษา TypeScript ว่าคืออะไร ทำไมถึงควรเรียนรู้ และช่วยให้การเขียนโปรแกรมปลอดภัยและจัดการง่ายขึ้นอย่างไร
เทคโนโลยี
มาทำความรู้จักกับ Lodash กัน
ก่อนอื่นเลยต้องขอสวัสดีพี่ๆน้องเพื่อนๆ ชาวโปรแกรมเมอร์ กันก่อนนะครับ สำหรับ Blog นี้ผมจะพาทุกๆคนไปทำความรู้จักกับ Libary…
เทคโนโลยี
Multiple Language ด้วย i18n บน nuxt.js Framework
สวัสดีครับ พอดีผมได้มีโอกาศลองใช้งานเจ้าตัว i18n เห็นว่าเจ้าตัวเนี่ย มันใช้งานค่อนข้างง่ายพอสมควรครับ วันนี้เลยจะมาแชร์ถึงการ setting…