Monday, January 18, 2021

Project Structure of RESTFul API with Express.js on Node.js

 บทความนี้ เป็นการแนะนำการ Setup โครงสร้างโปรเจคสำหรับสร้าง RESTFul API ด้วย Node.js และ Express.js เชื่อว่าคนที่เคยเขียน API ด้วย Express ต้องเคยเจอปัญหาว่าจะสร้างโครงสร้างของโปรเจคอย่างไรดี เนื่องจากทาง Express ไม่มีรูปแบบที่แนะนำ ทำให้การพัฒนาเป็นไปอย่างหลากหลาย ตามความถนัดของแต่ละคน หรือแต่ละทีมตามที่ตกลงกัน ซึ่งบทความนี้จะแนะนำการวางโครงสร้างโปรเจคที่จะทำให้การพัฒนาง่าย และเป็นระบบระเบียบมากขึ้น ไปดูกันเลย++

{
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"express-jwt": "^5.3.1",
"express-session": "^1.17.0",
"moment": "^2.24.0",
"mongoose": "^5.7.13",
"mongoose-unique-validator": "^2.0.3",
"morgan": "^1.9.1",
"passport": "^0.4.0",
"passport-jwt": "^4.0.0",
"passport-local": "^1.0.0"
},
"scripts": {
"start": "nodemon app.js"
}
}

Directory Structure

app.js              # App entry point└─── configs        # Configuration related stuff└─── controllers    # Controllers for all the endpoints└─── helpers        # Utility function└─── models         # Object Models└─── public         # Static file└─── routes         # Routes for all the endpoints└─── services       # Business logic

แนวคิดคือ แยกโฟลเดอร์ออกเป็นส่วนๆ ตามการใช้งาน และ Export module ให้ส่วนอื่นๆเรียกใช้งานได้

No comments:

Post a Comment