摘要:今天發(fā)現(xiàn)了一個(gè)神器在他的幫助下可以在很短的時(shí)間內(nèi)搭建一個(gè)然后就可以讓前端在不依賴后端的情況下進(jìn)行開發(fā)啦關(guān)于什么是設(shè)計(jì)指南阮一峰簡(jiǎn)單來(lái)說(shuō),是一個(gè)模塊,運(yùn)行服務(wù)器,你可以指定一個(gè)文件作為的數(shù)據(jù)源。更多屬性可以查看這里好啦,基本就是這樣啦,
今天發(fā)現(xiàn)了一個(gè)神器——json-server!在他的幫助下可以在很短的時(shí)間內(nèi)搭建一個(gè)Rest API, 然后就可以讓前端在不依賴后端的情況下進(jìn)行開發(fā)啦!
關(guān)于什么是RESTful API:
《RESTful API 設(shè)計(jì)指南》—— 阮一峰
http://www.ruanyifeng.com/blo...
簡(jiǎn)單來(lái)說(shuō),JSON-Server是一個(gè)Node模塊,運(yùn)行Express服務(wù)器,你可以指定一個(gè)json文件作為api的數(shù)據(jù)源。
舉個(gè)例子:
我們現(xiàn)在想做一個(gè)app,用來(lái)管理客戶信息,實(shí)現(xiàn)簡(jiǎn)單的CRUD功能(create/retrieve/update/delete),比如:
獲取客戶信息
增加一個(gè)客戶
刪除一個(gè)客戶
更新客戶信息
好啦,接下來(lái)我們就使用json-server完成這一系列動(dòng)作吧!
安裝JSON-Servernpm install -g json-server //osx系統(tǒng)加"sudo"
新建一個(gè)文件夾同時(shí)cd它:
mkdir customer-manager && cd customer-manager
新建一個(gè)json文件,然后存放一點(diǎn)數(shù)據(jù)進(jìn)去:
touch customers.json
{ "customers": [ { "id": 1, "first_name": "John", "last_name": "Smith", "phone": "219-839-2819" } ] }開啟json-server功能
所有你要做的事情只是讓json-server指向這個(gè)customers.json就ok啦!
json-server customers.js
然后出現(xiàn)這個(gè)提示就ok啦!
另外,JSON-Server很酷的一點(diǎn)就是支持各種GET/POST/PUT/DELETE的請(qǐng)求。
看幾個(gè)例子:
//GET fetch("http://localhost:3000/tasks/") .then(function(response) { return response.json() }).then(function(json) { console.log("parsed json: ", json) }).catch(function(ex) { console.log("parsing failed: ", ex) }); //POST fetch("http://localhost:3000/tasks/", { method: "post", headers: { "Accept": "application/json", "Content-Type": "application/json" }, body: JSON.stringify({ "title": "Add a blogpost about Angular2", "dueDate": "2015-05-23T18:25:43.511Z", "done": false }) }).then(function(response) { return response.json() }).then(function(json) { console.log("parsed json: ", json) }).catch(function(ex) { console.log("parsing failed: ", ex) }); //PUT fetch("http://localhost:3000/tasks/1", { //在url后面指定下id就好 method: "put", headers: { "Accept": "application/json", "Content-Type": "application/json" }, body: JSON.stringify({ "done": true }) }).then(function(response) { return response.json() }).then(function(json) { console.log("parsed json: ", json) }).catch(function(ex) { console.log("parsing failed: ", ex) }); //DELETE fetch("http://localhost:3000/tasks/1", { method: "delete" }).then(function(response) { return response.json() }).then(function(json) { console.log("parsed json: ", json) }).catch(function(ex) { console.log("parsing failed: ", ex) });
JSON-Server基本就是這樣啦!接下來(lái)介紹另一個(gè)神器~
Faker.js如果要自己瞎編API數(shù)據(jù)的話也是比較煩惱,用faker.js就可以輕松解決這個(gè)問(wèn)題啦!他可以幫助你自動(dòng)生成大量fake的json數(shù)據(jù),作為后端數(shù)據(jù)~
安裝faker.js還是使用npm來(lái)安裝faker.js:
npm install faker
現(xiàn)在我們用javascript生成一個(gè)包含50個(gè)客戶數(shù)據(jù)的json文件:
//customers.js var faker = require("faker") function generateCustomers () { var customers = [] for (var id = 0; id < 50; id++) { var firstName = faker.name.firstName() var lastName = faker.name.firstName() var phoneNumber = faker.phone.phoneNumberFormat() customers.push({ "id": id, "first_name": firstName, "last_name": lastName, "phone": phoneNumber }) } return { "customers": customers } } // 如果你要用json-server的話,就需要export這個(gè)生成fake data的function module.exports = generateCustomers
然后讓json-server指向這個(gè)js文件:
json-server customers.js
這樣你就可以在http://localhost:3000/customers里看到50個(gè)客戶數(shù)據(jù)了。
更多faker.js屬性可以查看這里:
https://github.com/marak/Fake...
好啦,基本就是這樣啦,happy coding!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/81921.html
摘要:然而扯淡的在前端前端要發(fā)請(qǐng)求,所以每個(gè)請(qǐng)求的都是,而生產(chǎn)環(huán)境服務(wù)器又是。前端方案因?yàn)槲沂窃谛I铮瑳](méi)辦法了解到大公司的開發(fā)方式。可能后端就任性就不遵守,那么這個(gè)前端只能靠來(lái)調(diào)整,然而更多的情況是沒(méi)辦法調(diào)整的。 在一個(gè)中大型項(xiàng)目中,你不可能一邊寫著前端一邊寫后端。全棧太難 :) 像rails那樣的開發(fā)模式已經(jīng)很不適合當(dāng)前的環(huán)境了。所有的項(xiàng)目都嚷嚷著前后端分離,那就只能這么干 我之前在做大...
摘要:曹縣宣布昨日晚間登日成功長(zhǎng)江流域首次發(fā)現(xiàn)海豚支持黨中央決定抄寫黨章勢(shì)在必行為了方便,再創(chuàng)建一個(gè)文件,寫入然后使用到目錄下執(zhí)行命令,如果成功會(huì)出現(xiàn)你的電腦中文件夾所在目錄的路徑如果不成功請(qǐng)檢查文件的格式是否正確。 在開發(fā)過(guò)程中,前后端不論是否分離,接口多半是滯后于頁(yè)面開發(fā)的。所以建立一個(gè)REST風(fēng)格的API接口,給前端頁(yè)面提供虛擬的數(shù)據(jù),是非常有必要的。 對(duì)比過(guò)多種mock工具后,我最終...
摘要:一什么是架構(gòu)即的縮寫,我們把他翻譯為表述性狀態(tài)傳遞,是博士在年他的博士論文中提出來(lái)的一種軟件架構(gòu)風(fēng)格。是個(gè)無(wú)狀態(tài)的協(xié)議,所以狀態(tài)就保存在服務(wù)器端。只要少量的數(shù)據(jù)就可使用,支持和。同時(shí)支持,同時(shí)提供一系列的查詢方法如。 一、什么是RESTful架構(gòu)? REST即Representational State Transfer的縮寫,我們把他翻譯為表述性狀態(tài)傳遞,是Roy Fielding博...
摘要:官方地址使用可全局安裝,也可針對(duì)項(xiàng)目安裝。可用開啟服務(wù)。數(shù)據(jù)文件格式如下讓讀書點(diǎn)燃?jí)粝氲攸c(diǎn)濱江星耀城讓讀書點(diǎn)燃?jí)粝氲攸c(diǎn)濱江星耀城仿京東購(gòu)物車仿京東購(gòu)物車修改里面的命令。 在前端開發(fā)中,如果后端接口還沒(méi)有提供,前端拿不到數(shù)據(jù),可能就沒(méi)法繼續(xù)寫一些交互行為的代碼。這一問(wèn)題可通過(guò)json-server來(lái)很好地解決。本文主要講如何將json-server和webpack進(jìn)行整合,基于vue-w...
摘要:前面演示了如何安裝并運(yùn)行和使用第三方庫(kù)真實(shí)化模擬數(shù)據(jù)下面將展開更多的配置項(xiàng)和數(shù)據(jù)操作。示例數(shù)據(jù)源元小總小把清保住影辦歷戰(zhàn)資和總由共先定制向向圓適者定書她規(guī)置斗平相。 前面演示了如何安裝并運(yùn)行 json server , 和使用第三方庫(kù)真實(shí)化模擬數(shù)據(jù) , 下面將展開更多的配置項(xiàng)和數(shù)據(jù)操作。 配置項(xiàng) 在安裝好json server之后,通過(guò) json-server -h 可以看到如下配置項(xiàng)...
閱讀 982·2023-04-26 01:47
閱讀 1672·2021-11-18 13:19
閱讀 2042·2019-08-30 15:44
閱讀 645·2019-08-30 15:44
閱讀 2291·2019-08-30 15:44
閱讀 1232·2019-08-30 14:06
閱讀 1420·2019-08-30 12:59
閱讀 1900·2019-08-29 12:49