本文記錄的是筆者最近抽私下時間給朋友做的一個時時彩自動下註系統,比較簡單,主要也是為了學習一下node.js。 其實邏輯沒什麼可以深談的,主要是想說說這套代碼結構。結構如下圖: js的代碼比較難以維護,不清楚大家對於這點是否認同,但這裡筆者只說自己的感受,筆者的朋友一開始找到筆者,說玩時時彩,一直盯 ...
本文記錄的是筆者最近抽私下時間給朋友做的一個時時彩自動下註系統,比較簡單,主要也是為了學習一下node.js。
其實邏輯沒什麼可以深談的,主要是想說說這套代碼結構。結構如下圖:
js的代碼比較難以維護,不清楚大家對於這點是否認同,但這裡筆者只說自己的感受,筆者的朋友一開始找到筆者,說玩時時彩,一直盯著玩,會因為貪心會亂來,想做個自動下註系統, 讓程式自己玩。一開始,筆者也只想敷衍了事,直接拿node.js+express整了下麵這套結構。
基本和express 示例代碼沒啥兩樣。但是隨著需求的變更,覺得維護起來越來越吃力, 無奈,只能重新來一遍。
這套node.js express mvc代碼結構我是學習nodeclub開源項目得來,有興趣的朋友可以去學習下。簡要說明下代碼中各部分的意義:
api-------------------> api 邏輯處理層, 一般就是數據的CURD等操作
controllers--------> c端站點,沒什麼可說的
jobs-----------------> 定時任務工作, 結合node-schedule
logs-----------------> 文件日誌
models ------------> mongoose 資料庫鏈接及各實體定義
proxy --------------> 資料庫訪問方法封裝,比如說insert、update
util------------------> 工具js封裝,如 DateFormat
views--------------> 頁面層,ejs 頁面渲染引擎
api_router.js-----> api路由
web_router.js---> web頁面路由
app.js-------------> 玩express的都知道這個文件幹啥。
筆者為什麼這麼做? MVC代碼分層,雖然代碼量無形的增加了,但目的是為了更好的管理,意味著大幅度降低維護成本,利大於弊。
這裡順便提一下 node-schedule 和 pm2 進程管理器 在多進程模式下,會出現重覆執行問題,筆者的解決方案是 將web 和 jobs 分多個進程管理器管理。