DEV Community

Cover image for NestJS #2 : มาสร้าง api  ด้วย NestJS กัน Part 1
thuttaphong
thuttaphong

Posted on

NestJS #2 : มาสร้าง api ด้วย NestJS กัน Part 1

บทความที่แล้ว เราได้รู้จัก NestJS ในเบื้องต้นกันไปแล้ว ในบทความนี้เราจะมาทำ api แบบง่ายๆ ด้วย NestJS กัน

คำสั่ง NestJS CLI เบื้องต้น

อันดับแรกเราจะมาทำความรู้จักคำสั่ง Command Line Interface (CLI) NestJS เบื้องต้นกัน

คำสั่งสร้างโปรเจคขึ้นมาใหม่
nest new project-name คำสั่งในการสร้างโปรเจคขึ้นมาใหม่

คำสั่ง generate files
nest generate <schematic> <name> [options]
nest generate mo <name> คำสั่ง generate module
nest generate s <name> คำสั่ง generate service
nest generate co <name> คำสั่ง generate controller
nest generate cl <name> คำสั่ง generate class
nest generate interface <name> คำสั่ง generate interface

สามารถศึกษาเพิ่มเติมได้ที่ NestJS CLI

ขั้นตอนการสร้าง API

1.ทำการสร้างโปรเจค

nest new project-name

ให้เราสร้างโปรเจคขึ้นมาใหม่ด้วยการใช้คำสั่ง nest new cat-api

2.ทำความรู้จักโครงสร้างไฟล์ของโปรเจค

หลังจากที่เราสร้างโปรเจคขึ้นมาใหม่แล้วให้ทำการเปิดด้วย VSCode เราจะได้โครงสร้างไฟล์แบบนี้ด้วย

Alt Text

node_module เป็นที่เก็บไฟล์แพคเกจต่าง ๆ ที่ใช้ในโปรเจคเรา

src เป็นโฟลเดอร์หลักที่เราจะมาเขียนโค้ดกัน โฟลเดอร์ src จะประกอบไป.
ด้วยไฟล์หลักต่างๆ ของ NestJS นั้นก็คือ main, module, service,
controller

test เป็นโฟลเดอร์ที่เอาไว้ทำ e2e(end-to-end) tests

.eslintrc.js ESlint เป็นตัวที่จะแนะนำให้เราเขียนโค้ดตามกฎมาตรฐาน
ต่างๆ ซึ่งเราสามารถกำหนดกฎเองได้ที่ไฟล์นี้

.gitignore เป็นการกำหนดละเว้นไฟล์ที่เราไม่ต้องการให้ขึ้นไปอยู่บน git
repository ของเรา

.prettierrc ตัวช่วยที่จะช่วยให้การเขียนโค้ดตามกฎมาตรฐาน ให้สวยงาม
อ่านง่ายขึ้น เราสามารถกำหนดกฎมาตรฐานเองได้ในไฟล์นี้

nest-cli.json เป็นการกำหนดค่า directory ให้ NestJS CLI
สามารถกำหนดค่าใหม่ได้โดยการเปลี่ยนที่ sourceRoot

package.json เป็นไฟล์ที่เก็บข้อมูล meta data, node package,
script ต่างๆ ที่ใช้ในโปรเจค

README.md เป็นไฟล์ที่เอาไว้อธิบายรายละเอียดของโปรเจค

tsconfig.build.json กำหนดค่าในการ build typescript

tsconfig.json ใช้กำหนดค่าให้ tsc compiler จัดการกับไฟล์ .ts ในโปรเจค

yarn.lock ตอนสร้างโปรเจคถ้าเราเลือก yarn จะได้ yarn.lock ส่วน npm จะได้ package-lock.json เป็นไฟล์ที่เก็บข้อมูล node package ต่างๆ ที่เราใช้ในโปรเจค และล็อกเวอร์ชันของ package

เดียวบทความจะยาวจนเกินไป ขอไปเขียนต่อ part ที่สอง ในบทความถัดไปนะครับ

Discussion (0)