實踐分前端部分和最重要的node服務(wù)器部分。在這里將重點放在nodeJS的代碼上。
想要成為服務(wù)器,就需要能夠處理網(wǎng)絡(luò)請求(http)和對數(shù)據(jù)庫的數(shù)據(jù)作處理。在這次實踐中,node服務(wù)器端主要用到以下技術(shù):?
koa2(處理http請求)、Sequelize(對數(shù)據(jù)庫進(jìn)行映射,即用來對數(shù)據(jù)庫數(shù)據(jù)增刪改查)、?nunjucks(處理頁面)、mysql。
gitee地址:wx-front-with-server: node 前后端實踐,,,可先download下來,按README.md運行一下。
最后的服務(wù)器文件夾結(jié)構(gòu)如下:

前言:跟著廖雪峰老師學(xué)習(xí),一些思想和圖片來自https://www.liaoxuefeng.com。
1.首先看app.js入口文件

可以發(fā)現(xiàn)app.js代碼很少,http的獲取和路由注冊都由2中的app.use(routerController().routes())來完成。這是因為其中進(jìn)行了自動化加載。
先來看看一般我們的操作為:

為了避免越來越多的請求處理會污染入口文件。我們將router處理都寫在router文件夾下。
如:router/indexRoute.js

在這里,請求對應(yīng)的處理我又統(tǒng)一歸在了controller文件夾下:
/controller/indexController.js

文件細(xì)分出來了,如何再加載到app.js呢??磖outer.js文件:

最后在app.js中引入router.js,并用app.use(routerController().routes())實現(xiàn)注冊。
*Nunjucks:主要是在templating.js文件中

app.js?中 ,?使用 app.use(templating('views',{}));注冊“views”文件夾下的模板輸出文件。
在路由中可用于模板的跳轉(zhuǎn)和內(nèi)容傳遞,如:ctx.render('index.html',{ data:data });跳轉(zhuǎn)到index.html頁面,且可使用data數(shù)據(jù)。
關(guān)于Nunjucks,看下 https://www.liaoxuefeng.com/wiki/1022910821149312/1100400176397024,比較簡單。
完成koa的部分,我們已經(jīng)可以根據(jù)不同的訪問請求如:localhost:3000/?或 localhost:3000/getAll ,或者提交post請求 /add來獲得服務(wù)器不同的跳轉(zhuǎn)和反饋。