實現請求路由對映
資料介面**到生產或者測試環境
能渲染模板很簡單,在mock server中整合模板引擎就行了,然後提供模擬的頁面資料用於完整渲染頁面,不過有時候生產環境中的模板引擎可能有一些環境依賴的擴充套件,這個要單獨實現。
請求路由對映,實現原理就是要讓本地的mock server有乙個router,能接收所有http請求,然後在router中根據線上的路由約定,實現一套一樣的規則,這個也不難,不贅述了。
最後資料介面**。與前端相關的http請求一共就3種響應情況:
渲染頁面的請求;
靜態資源的請求;
獲取資料的請求。
由於實現了router,我們把渲染頁面的請求在mock server中處理掉,直接輸出本地模板的渲染結果;靜態資源的請求直接返回檔案內容;而把資料請求**到測試或者生產環境,本地就不用mock了(當然,如果出現新的介面測試環境沒有的,可以追加router,在mock server想響應假資料)
至於題主說的url一致性問題,其實不存在的。你的這個 的資料請求,在js中應該這樣寫:
$.get('/bar', callback)
,而由於我們在mock server中實現了路由規則,這個請求實際上被**到了測試/生產環境去獲取資料。而當你把**部署到線上時,其訪問真實請求位址又自動變成了你期望的 正常執行。
畫個圖總結一下:
補充一些tips:
很多前端工程師以為前端分離的唯一途徑是接入nodejs作為ui層,其實不是的,還有一種方案就是這種mock server,前端工程師直接寫後端模板,效果有時候甚至更好,而且對已有前後端架構的改動成本最小。@相守鼎
給出了常用指令碼語言下開啟簡易web server的方法,可以用於實現mock server:
mock模擬介面返回資料
mock,是python中模擬介面返回資料 1.安裝 pip install mock import unittest from mock import mock def add a,b pass class testadd unittest.testcase def test add self m...
小程式mock模擬資料
1 安裝mock包 npm install shymean mock server g2 在專案根目錄下新建api資料夾,裡面新建 mock.js檔案,裡面放模擬的介面 mock.mock api test test.htm message success 3 進入 mock.js所在的資料夾,啟動...
node學習 Mock模擬資料
mockjs在前面我們已經了解過了,其主要作用就是模擬資料。如果我們自行開發專案時,需要配合一些資料,此時如果手動新增的話,太繁瑣。於是都會使用mockjs。這裡只要閱讀下mockjs官方文件即可了解mockjs的使用方法。首先需要npm install mockjs並引入 const mock r...