首頁 web前端 js教程 如何建構前端通用的資料模擬框架(詳細教學)

如何建構前端通用的資料模擬框架(詳細教學)

Jun 20, 2018 pm 12:03 PM
mockjs 數據 框架 模擬

下面小編就為大家分享一篇mockjs,json-server一起搭建前端通用的資料模擬框架教程,具有很好的參考價值,希望對大家有所幫助。一起跟著小編過來看看吧

無論是在工作,還是在業餘時間做前端開發的時候,難免出現後端團隊還沒完成接口的開發,而前端團隊卻需要實現對應的功能,不要問為什麼,這是肯定存在的。本篇文章就是基於此原因而產出的。希望對有這方面的需求的同誌有所幫助。

一、使用的元件套件

#1. mockjs:用於模擬查詢結果

#2. json-server:建立模擬伺服器,以及模擬CRUD的相關操作介面

二、具體的實作1. 建立項目,並安裝對應的依賴

cnpm install --save-dev mockjs json-server
登入後複製

上述指令為安裝依賴,下圖為專案結果:

##說明:

data:此資料夾存放的為利用mockjs模擬的查詢結果,dataProvider後面單獨簡單

lib:包含的一個jquery文件,用於模擬ajax請求用

# route:json-server的路由表,用來模擬crud操作用,沒搞清楚如何實作多個db.json

index.js:模擬伺服器入口檔

test.html:測試cors

2. 建立基礎的json-server伺服器

var JsonServer = require('json-server');
var path = require('path')

var Server = JsonServer.create();
var defaultMid = JsonServer.defaults({
 "noCors": false,
 "static": path.join(__dirname, "/lib")
});

var router = JsonServer.router(path.join(__dirname, '/route/db.json'));

Server.use(defaultMid);
Server.use(router);
Server.listen(8009);
console.log('start 8009.....');
登入後複製

此部分內容完全按照json-server的官方說明編寫,值得注意的是static和noCors的設置,他是作為一個中間件來完成的。

3. 增加mockjs的應用程式

在這裡mockjs只作為參生資料的基石,而dataProvider.js卻提供了統一外部存取介面的能力。也就是把模擬資料以module(相當於mvc中的controller)和func(相當於mvc中的action)來進行分隔。

不知這種實作是否可行(本人現在專案中暫時是這樣使用的。)

#3.1 首先,在data資料夾中建立emp.js文件,編寫如下內容:

var mockjs = require('mockjs');

module.exports = {
 list: function(){ 
 var data = mockjs.mock({
 'list|3':[
 {
  'id|+1':1
 }
 ]
 });
 return data.list;
 }
}
登入後複製

 此處就是對mockjs的使用

3.2 dataProvider使用實作模組的收集

var emp = require('./emp');

var moduels = {
 emp: emp
}

module.exports = {
 execute: function(m, f, args){
 return moduels[m][f].call(moduels[m], args);
 }
}
登入後複製

 3.3 json中增加get方法,用於取得數據

var provider = require('./data/dataProvider');

Server.get('/data',function(req,res){
 var moduleName = req.body ? req.body.moduleName : req.query.moduleName;
 var funName = req.body ? req.body.funName : req.query.funName;
 var arg = null;
 res.json(provider.execute(moduleName, funName));
 res.end();
});
登入後複製
如果要存取emp下的List,則位址為:http://localhost:8009/data?moduleName=emp&funName=list

4.總結

1. json-server的db.json檔案只能有一個,這裡可以配置多個資料實體,他是以get為獲取,post為寫入http協定來實現數據的CRUD的

看到這裡,你是否有感覺到搭建一個資料模擬伺服器如此簡單,當然只是webapi的。

下載範例程式碼

上面是我整理給大家的,希望今後對大家有幫助。

相關文章:

在JavaScript中如何實現彈性效果

在axios中如何實作cookie跨域

使用JS如何實作小球拋物線軌跡運動

使用JavaScript如何實作二元樹遍歷

以上是如何建構前端通用的資料模擬框架(詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

AI新創集體跳槽OpenAI,Ilya出走後安全團隊重整旗鼓! AI新創集體跳槽OpenAI,Ilya出走後安全團隊重整旗鼓! Jun 08, 2024 pm 01:00 PM

上週,在內部的離職潮和外部的口誅筆伐之下,OpenAI可謂是內憂外患:-侵權寡姐引發全球熱議-員工簽署“霸王條款”被接連曝出-網友細數奧特曼“七宗罪」闢謠:根據Vox獲取的洩漏資訊和文件,OpenAI的高級領導層,包括Altman在內,非常了解這些股權回收條款,並且簽署了它們。除此之外,還有一個嚴峻而迫切的問題擺在OpenAI面前——AI安全。最近,五名與安全相關的員工離職,其中包括兩名最著名的員工,「超級對齊」團隊的解散讓OpenAI的安全問題再次被置於聚光燈下。 《財星》雜誌報道稱,OpenA

如何評估Java框架商業支援的性價比 如何評估Java框架商業支援的性價比 Jun 05, 2024 pm 05:25 PM

評估Java框架商業支援的性價比涉及以下步驟:確定所需的保障等級和服務等級協定(SLA)保證。研究支持團隊的經驗和專業知識。考慮附加服務,如昇級、故障排除和效能最佳化。權衡商業支援成本與風險緩解和提高效率。

70B模型秒出1000token,程式碼重寫超越GPT-4o,來自OpenAI投資的程式碼神器Cursor團隊 70B模型秒出1000token,程式碼重寫超越GPT-4o,來自OpenAI投資的程式碼神器Cursor團隊 Jun 13, 2024 pm 03:47 PM

70B模型,秒出1000token,换算成字符接近4000!研究人员将Llama3进行了微调并引入加速算法,和原生版本相比,速度足足快出了快了13倍!不仅是快,在代码重写任务上的表现甚至超越了GPT-4o。这项成果,来自爆火的AI编程神器Cursor背后团队anysphere,OpenAI也参与过投资。要知道在以快著称的推理加速框架Groq上,70BLlama3的推理速度也不过每秒300多token。Cursor这样的速度,可以说是实现了近乎即时的完整代码文件编辑。有人直呼好家伙,如果把Curs

PHP 框架的學習曲線與其他語言框架相比如何? PHP 框架的學習曲線與其他語言框架相比如何? Jun 06, 2024 pm 12:41 PM

PHP框架的學習曲線取決於語言熟練度、框架複雜性、文件品質和社群支援。與Python框架相比,PHP框架的學習曲線較高,而與Ruby框架相比,則較低。與Java框架相比,PHP框架的學習曲線中等,但入門時間較短。

中國移動:人類正邁入第四次工業革命 正式公佈'三個計劃” 中國移動:人類正邁入第四次工業革命 正式公佈'三個計劃” Jun 27, 2024 am 10:29 AM

6月26日消息,在2024年世界行動通訊大會上海(MWC上海)開幕典禮上,中國移動董事長楊傑發表演說。他表示,當前,人類社會正邁入以資訊為主導、資訊和能量深度融合的第四次工業革命,即“數智化革命”,新質生產力加速形成。楊傑認為,從蒸汽機驅動的“機械化革命”,到電力、內燃機等驅動的“電氣化革命”,再到計算機和互聯網等驅動的“信息化革命”,每一輪工業革命都是以“信息和能量」為主線,帶來生產力發

PHP 框架的輕量級選項如何影響應用程式效能? PHP 框架的輕量級選項如何影響應用程式效能? Jun 06, 2024 am 10:53 AM

輕量級PHP框架透過小體積和低資源消耗提升應用程式效能。其特點包括:體積小,啟動快,記憶體佔用低提升響應速度和吞吐量,降低資源消耗實戰案例:SlimFramework創建RESTAPI,僅500KB,高響應性、高吞吐量

如何為不同的應用場景選擇最佳的golang框架 如何為不同的應用場景選擇最佳的golang框架 Jun 05, 2024 pm 04:05 PM

根據應用場景選擇最佳Go框架:考慮應用類型、語言特性、效能需求、生態系統。常見Go框架:Gin(Web應用)、Echo(Web服務)、Fiber(高吞吐量)、gorm(ORM)、fasthttp(速度)。實戰案例:建構RESTAPI(Fiber),與資料庫互動(gorm)。選擇框架:效能關鍵選fasthttp,靈活Web應用選Gin/Echo,資料庫互動選gorm。

谷歌搜尋演算法內幕被扒,2500頁鉅細文件實名洩密!搜尋排名謊言被揭穿 谷歌搜尋演算法內幕被扒,2500頁鉅細文件實名洩密!搜尋排名謊言被揭穿 Jun 11, 2024 am 09:14 AM

日前,Google2500頁的內部文件被洩露,揭示了搜尋——「網路最強大的仲裁者」的運作方式。 SparkToro的聯合創始人兼CEO是一位匿名人士,他在個人網站上發表博客文章,宣稱“一位匿名人士與我分享了數千頁洩露的谷歌搜索API文檔,SEO中的每個人都應該看到它們!既然在這個領域德高望重,RandFishkin

See all articles