基於 Node.js、Express.js 和 MongoDB 通過Mongoose驅動進行 REST API 開發的輕量級樣板。
整合了Swagger UI、JWT、session、傳送郵箱驗證、紀錄檔管理、統一的預定義狀態碼響應格式等,對於為前端平臺構建純淨的Web API非常有用。
該專案我嘗試做出輕鬆維護程式碼結構的專案樣板,因為任何初學者也可以採用該流程並開始構建API。
專案開放,可以提出建議、錯誤的issues。
首先確保您系統中安裝了Mongodb,和Nodejs,一起準備完善之後。按照如下操作。
有的同學啟動會報錯可能是依賴包的版本問題需要注意
我的環境設定供參考
- Node.js 14.18.1+
- MongoDB 5.1+
1,clone程式碼
git clone https://gitee.com/Z568_568/node.mongodb.git
2,安裝依賴
npm install
3,啟動程式
開發環境:npm run dev 基於 nodemon 熱更新
生產環境:npm run start
4,啟動成功範例
只需在 /models/v1/mapping/
中建立一個新檔案,
然後在控制器/controllers/v1/
中建立一個對應新模型的新控制器的並使用。
只需在 /routes/v1/
中建立一個新檔案,並且引入它對應的controllers進行使用,routes下面的檔案 將被 mount-routes
外掛自動解析並以檔名作為api根路徑,
開發環境下會列印在終端上:
只需在 /controllers/v1/
中建立一個新檔案即可,並且引入相關模型進行使用
/*
* TODO: 註冊登入大概邏輯:
* 1.使用者註冊 - 使用者資訊入庫 - 傳送驗證碼 - 校驗驗證碼
* |
* 驗證碼傳送失敗、驗證碼失效或者校驗失敗 - 重新傳送或輸入驗證碼 - 校驗驗證碼
* *
* 2.使用者登入 -(賬號、密碼、驗證狀態都校驗通過)- 發Token
* |
* 驗證狀態不通過 - 重新校驗驗證碼/重發驗證碼 - 校驗驗證碼 - 發Token
* */
.
├── app.js //入口檔案
├── package.json //依賴組態檔
├── .env.development //開發環境設定
├── .env.production //生產環境設定
├── config //專案設定
│ ├── db.config.js
│ ├── swagger.config.js
│ └── ...
├── controllers //控制模組(業務處理)
│ └── v1
│ ├── UserController.js
│ └── ...
├── models //模型模組(建表)
│ └── v1
│ ├── user.test.js /模型統一匯出
│ └── mapping
│ ├──UserModel.js
│ └── ...
├── routes //路由(設定實際API地址路徑)
│ └── v1
│ ├── user.test.js
│ ├── user.js
│ └── ...
├── db //mongodb資料庫連線
│ ├── user.test.js
│ └── ...
├── middlewares //中介軟體
│ ├── jwt.js
│ ├── permissions.js
│ ├── session.js
│ └── ...
├── logs //紀錄檔
│ ├── info.log
│ ├── error.log
│ └── ...
└── utils //輔助工具
├── utils.apiResponse.js
├── utils.mailer.js.js
└── ...
建立和維護由
本文來自部落格園,作者:書中楓葉,轉載請註明原文連結:https://www.cnblogs.com/zy-mg/p/17293391.html