欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于node.js express mvc輕量級(jí)框架實(shí)踐

 更新時(shí)間:2017年09月14日 08:41:39   作者:snailteam  
下面小編就為大家?guī)硪黄趎ode.js express mvc輕量級(jí)框架實(shí)踐。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

本文記錄的是筆者最近抽私下時(shí)間給朋友做的一個(gè)時(shí)時(shí)彩自動(dòng)下注系統(tǒng),比較簡(jiǎn)單,主要也是為了學(xué)習(xí)一下node.js。

其實(shí)邏輯沒什么可以深談的,主要是想說說這套代碼結(jié)構(gòu)。結(jié)構(gòu)如下圖:

HJW84VXM)(9E$T)(6~5@IOB

js的代碼比較難以維護(hù),不清楚大家對(duì)于這點(diǎn)是否認(rèn)同,但這里筆者只說自己的感受,筆者的朋友一開始找到筆者,說玩時(shí)時(shí)彩,一直盯著玩,會(huì)因?yàn)樨澬臅?huì)亂來,想做個(gè)自動(dòng)下注系統(tǒng), 讓程序自己玩。一開始,筆者也只想敷衍了事,直接拿node.js+express整了下面這套結(jié)構(gòu)。

image

基本和express 示例代碼沒啥兩樣。但是隨著需求的變更,覺得維護(hù)起來越來越吃力, 無奈,只能重新來一遍。

這套node.js express mvc代碼結(jié)構(gòu)我是學(xué)習(xí)nodeclub開源項(xiàng)目得來,有興趣的朋友可以去學(xué)習(xí)下。簡(jiǎn)要說明下代碼中各部分的意義:

api-------------------> api 邏輯處理層, 一般就是數(shù)據(jù)的CURD等操作

controllers--------> c端站點(diǎn),沒什么可說的

jobs-----------------> 定時(shí)任務(wù)工作, 結(jié)合node-schedule

logs-----------------> 文件日志

models ------------> mongoose 數(shù)據(jù)庫鏈接及各實(shí)體定義

proxy --------------> 數(shù)據(jù)庫訪問方法封裝,比如說insert、update

util------------------> 工具js封裝,如 DateFormat

views--------------> 頁面層,ejs 頁面渲染引擎

api_router.js-----> api路由

web_router.js---> web頁面路由

app.js-------------> 玩express的都知道這個(gè)文件干啥。

筆者為什么這么做? MVC代碼分層,雖然代碼量無形的增加了,但目的是為了更好的管理,意味著大幅度降低維護(hù)成本,利大于弊。

這里順便提一下 node-schedule pm2 進(jìn)程管理器 在多進(jìn)程模式下,會(huì)出現(xiàn)重復(fù)執(zhí)行問題,筆者的解決方案是 將web 和 jobs 分多個(gè)進(jìn)程管理器管理。

以上這篇基于node.js express mvc輕量級(jí)框架實(shí)踐就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js中的fs.ftruncate方法使用說明

    node.js中的fs.ftruncate方法使用說明

    這篇文章主要介紹了node.js中的fs.ftruncate方法使用說明,本文介紹了fs.ftruncate的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js開發(fā) path路徑模塊詳解

    Node.js開發(fā) path路徑模塊詳解

    path 模塊是 Node.js 官方提供的、用來處理路徑的模塊,它提供了一系列的方法和屬性,用來滿足用戶對(duì)路徑的處理需求,這篇文章主要介紹了Node.js開發(fā) path路徑模塊,需要的朋友可以參考下
    2024-02-02
  • Node.js?連接?MySql?統(tǒng)計(jì)組件屬性的使用情況解析

    Node.js?連接?MySql?統(tǒng)計(jì)組件屬性的使用情況解析

    這篇文章主要為大家介紹了Node.js?連接?MySql?統(tǒng)計(jì)組件屬性的使用情況解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Node.js數(shù)據(jù)庫操作之查詢MySQL數(shù)據(jù)庫(二)

    Node.js數(shù)據(jù)庫操作之查詢MySQL數(shù)據(jù)庫(二)

    這篇文章主要介紹了Node.js數(shù)據(jù)庫操作之查詢MySQL數(shù)據(jù)庫的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql能帶來一定的幫助,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • node.js文件系統(tǒng)之文件寫入實(shí)例詳解

    node.js文件系統(tǒng)之文件寫入實(shí)例詳解

    Node.js和其他語言一樣,也有文件操作,下面這篇文章主要給大家介紹了關(guān)于node.js文件系統(tǒng)之文件寫入的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化

    輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化,本文是對(duì)第一節(jié)的例子作了封裝,需要的朋友可以參考下
    2014-12-12
  • 詳解Node.js服務(wù)器靜態(tài)資源處理

    詳解Node.js服務(wù)器靜態(tài)資源處理

    靜態(tài)資源服務(wù)器指的是不會(huì)被服務(wù)器的動(dòng)態(tài)運(yùn)行所改變或者生成的文件,本文主要為大家詳細(xì)介紹了Node.js服務(wù)器靜態(tài)資源處理的相關(guān)知識(shí),需要的可以了解下
    2024-04-04
  • 手把手帶你安裝多個(gè)node版本

    手把手帶你安裝多個(gè)node版本

    在項(xiàng)目開發(fā)過程中,不同項(xiàng)目使用的node版本不同,有時(shí)會(huì)因?yàn)閚ode版本過高或太低,導(dǎo)致報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于安裝多個(gè)node版本的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Node多進(jìn)程的實(shí)現(xiàn)方法

    Node多進(jìn)程的實(shí)現(xiàn)方法

    我們都知道?Node.js?是以單線程的模式運(yùn)行的,但它使用的是事件驅(qū)動(dòng)來處理并發(fā),這樣有助于我們?cè)诙嗪?cpu?的系統(tǒng)上創(chuàng)建多個(gè)子進(jìn)程,從而提高性能
    2022-08-08
  • npm?install總是卡住不動(dòng)問題的解決辦法

    npm?install總是卡住不動(dòng)問題的解決辦法

    在我們安裝完Node.js之后,需要使用npm命令來安裝一些工具,下面這篇文章主要給大家介紹了關(guān)于npm?install總是卡住不動(dòng)問題的解決辦法,需要的朋友可以參考下
    2022-05-05

最新評(píng)論