對于前端開發者而言,<code>javascript</code>正扮演者越來越重要的地位,它不僅能為浏覽器端賦能,在<code>web</code>伺服器方面也有很大的價值(我們可以用<code>nodejs</code>來寫服務端的應用,啟動<code>web</code>伺服器),是以本文所要描述的,便是<code>javascript</code>在服務端的應用。我們将介紹如何使用<code>nodejs</code>來搭建一個<code>mock</code>伺服器,友善前端自定義<code>mock</code>資料請求,提高前端開發者的主觀能動性和對項目健壯性的探索。
我們将學到
koa基本使用
koa-router的基本用法
koa-logger的使用
glob支援檔案周遊查詢
node幾個核心api的使用
使用nodemon做自動重新開機
mock伺服器基本設計思路
通過目錄路徑和服務端<code>api</code>的映射關系來實作我們的<code>api</code>通路,比如我們通路接口<code>/api/article/122</code>,我們隻需要在<code>mock</code>伺服器目錄的<code>api</code>的<code>article</code>目錄下,建立<code>122.json</code>檔案即可,<code>json</code>檔案的資料可以自定義,友善前端調試。
具體實作搭建一個<code>node</code>服務
注冊路由,我們使用<code>koa-router</code>來實作背景服務的路由功能,并通過<code>koa</code>提供的上下文<code>ctx</code>将讀取到的資料傳回給前端;
這樣我們就能實作一個勉強能用的基本的背景<code>api</code>伺服器,當我們請求了<code>/api/name</code>時,會傳回相應的資料給前台,這一步是我們實作<code>mock</code>服務的關鍵一步,接下來我們具體來實作目錄的周遊和<code>api</code>的自動注冊。
自動注冊<code>api</code>接口并傳回資料,我們将在這個階段實作<code>api</code>服務的自動注冊,這裡我們使用<code>glob</code>這個第三方子產品來周遊目錄,并通過<code>node</code>的<code>fs</code>子產品讀取<code>api</code>檔案的資料并傳回給前端。
添加控制台日志,我們使用<code>koa-logger</code>實作在終端列印<code>node</code>日志,友善調試,雖然這不是該文章的重點,但是對于想做<code>node</code>開發的前端從業者,還是很有必要了解的。
這樣,我們每個請求都會在終端列印出來。
路由映射檔案的生成,該功能也不是本文的重點,但是會極大的友善前端開發者調試請求,因為如果<code>api</code>路徑很長,我們需要一個個查找,但是有了這個<code>map</code>檔案,我們隻需要拷貝自動生成的路由即可。
以上代碼中用到了很多的第三方子產品,如果在<code>require('xxx')</code>的時候沒有提示,或者運作代碼相應的<code>require</code>語句報錯,就<code>npm install xxx --save</code>一下。
微信公衆号:code程式人生