1. 程式人生 > 程式設計 >全棧專案|小書架|伺服器開發-NodeJS 專案分包

全棧專案|小書架|伺服器開發-NodeJS 專案分包

嘮嗑

參考的是網七月老師的課程,七月的課質量真的挺高的,推薦一波。這次的小書架專案原始碼不會全部公開,因為用了七月老師課程的絕大部分程式碼。雖然程式碼不全,但是隻要思路看得懂,程式碼實現就很簡單了。

小書架專案不是我個人完整的專案,UI 使用的是【9小時搞定微信小程式開發】,這位老師的介面效果,當時(去年吧)由於已經學了一段時間小程式,正好看到極客時間有這個課程,看著目錄講的挺詳細的就買了,後來沒啥時間看,就擱置了。今年看到七月老師的課【Node.js+KOA2 從0到1打造超好用Web框架 一步到位 掌握KOA2服務端開發】,果斷學了。最近正好也在弄小程式,撿起了當時的極客時間課程,課程的最後是實現一個前後端的專案利用【小書架】,於是想著二者結合再加以改動就可以把小書架專案做得更完善一些。所以就開始幹吧!

技術包

假設 npm ,NodeJS ,koa ,mysql 已經安裝好了

  • 伺服器開發:NodeJS + KOA2+MySQL
  • 開發工具:vscode

NodeJS專案只要新建一個資料夾,然後使用命令npm init即可建立成功,然後把常用的包名建立好即可,可參考下方的專案分包。

專案分包

專案分包圖

上圖可以看得不是很清楚,那麼重新整理一份吧

app
	api:介面
		v1:第一版本的介面
	lib:輔助
	models:實體類
	services:微信相關
	validators:校驗器
config:配置項
core:核心
middlewares:中介軟體
public:資源
複製程式碼

api

api裡面存放的是各個版本的介面,一般只維護三個版本,當然我們也可以只維護一個版本,但是這違背設計原則的對修改關閉的思想。

為什麼需要有維護三個版本的情況呢?這就得表揚產品經理們的天馬行空想法了。第一版設計的介面已經實現功能了,後續發現第一版介面滿足不了慾望,想要在原有介面上增加一些酷炫的想法,那麼程式設計師肯定是的加的啊。

在原有程式碼上加?自己都看不懂自己以前寫的程式碼了,再往裡加那就是犯罪啊。只能另起爐灶,開個新的V2出來了。把原有程式碼中需要的內容複製過來再改吧改吧完成需求下班,美滋滋~

lib

裡面就是放一些工具類,輔助類,沒啥可以說的

models

這裡面存放各個實體類,比如圖示實體book.js

就是放這裡面,這個檔案主要處理資料相關的。為了實體和介面對應,在介面中api-v1下也得有一個book.js,這個檔案主要處理邏輯相關的。

services

微信相關的實體類,也可以放到models包下

validators

主要存放驗證器,啥是驗證器呢?就是相關介面的判斷邏輯,統一放在這個類中。這麼做可以減少api-v1包下介面邏輯處理比較繁瑣的問題。

config

主要存放資料庫配置等資訊

core

存放網路異常、專案初始化、一些工具類等檔案

middlewares

存放中介軟體,如許可權驗證全域性異常

public

存放使用者上傳的資原始檔,或者是圖片檔案,也可以取名static


諮詢請加微信:輕撩即可。

在這裡插入圖片描述