摘要:曹縣宣布昨日晚間登日成功長江流域首次發(fā)現(xiàn)海豚支持黨中央決定抄寫黨章勢在必行為了方便,再創(chuàng)建一個文件,寫入然后使用到目錄下執(zhí)行命令,如果成功會出現(xiàn)你的電腦中文件夾所在目錄的路徑如果不成功請檢查文件的格式是否正確。
在開發(fā)過程中,前后端不論是否分離,接口多半是滯后于頁面開發(fā)的。所以建立一個REST風(fēng)格的API接口,給前端頁面提供虛擬的數(shù)據(jù),是非常有必要的。
對比過多種mock工具后,我最終選擇了使用 json server 作為工具,因為它足夠簡單,寫少量數(shù)據(jù),即可使用。
也因為它足夠強大,支持CORS和JSONP跨域請求,支持GET, POST, PUT, PATCH 和 DELETE 方法,更提供了一系列的查詢方法,如limit,order等。下面我將詳細(xì)介紹 json server 的使用。
首先你的電腦中需要安裝nodejs,建議使用最新版本。然后全局安裝json server.
npm install json-server -g
使用linux和macOS的電腦需要加上sudo
sudo npm install json-server -g
安裝完成后可以用 json-server -h 命令檢查是否安裝成功,成功后會出現(xiàn)
json-server [options]運行
安裝完成后,可以在任一目錄下建立一個 xxx.json 文件,例如在 mock/ 文件夾下,建立一個 db.json 文件,并寫入以下內(nèi)容,并在 mock/ 文件夾下執(zhí)行 json-server db.json -p 3003 。
{ "news":[ { "id": 1, "title": "曹縣宣布昨日晚間登日成功", "date": "2016-08-12", "likes": 55, "views": 100086 }, { "id": 2, "title": "長江流域首次發(fā)現(xiàn)海豚", "date": "2016-08-12", "likes": 505, "views": 9800 } ], "comments":[ { "id": 1, "news_id": 1, "data": [ { "id": 1, "content": "支持黨中央決定" }, { "id": 2, "content": "抄寫黨章勢在必行!" } ] } ] }
為了方便,再創(chuàng)建一個 package.json 文件,寫入
{ "scripts": { "mock": "json-server db.json --port 3003" } }
然后使用到 /mock 目錄下執(zhí)行 npm run mock 命令,如果成功會出現(xiàn)
> @ mock /你的電腦中mock文件夾所在目錄的路徑/mock > json-server db.json -p 3003 {^_^}/ hi! Loading db.json Done Resources http://localhost:3003/news http://localhost:3003/comments Home http://localhost:3003
如果不成功請檢查 db.json 文件的格式是否正確。
操作數(shù)據(jù) GET這個時候訪問 http://localhost:3003/db 可以查看 db.json 文件中所定義的全部數(shù)據(jù)。
使用瀏覽器地址欄,jQuery.get 或 fecth({method: "get"}) 訪問 http://localhost:3003/news ,則可以看到 news 對象下的數(shù)據(jù),以Array格式返回:
[ { "id": 1, "title": "曹縣宣布昨日晚間登日成功", "date": "2016-08-12", "likes": 55, "views": 100086 }, { "id": 2, "title": "長江流域首次發(fā)現(xiàn)海豚", "date": "2016-08-12", "likes": 505, "views": 9800 } ]POST
以jquery的 $.ajax 方法舉例,以下代碼會實時的向 db.json 中的 news 對象push一條新的數(shù)據(jù)再次用 get 方式訪問 http://localhost:3003/news , 就可以看到它了
$.ajax({ type: "post", url: "http://localhost:3003/news", data: { "id": 3, "title": "我是新加入的新聞", "date": "2016-08-12", "likes": 0, "views": 0 } } )PUT
同樣以jquery的 $.ajax 方法舉例,以下代碼會實時的對 db.json 中的 news 對象中 id=1 數(shù)據(jù)進(jìn)行修改
$.ajax({ type: "put", url: "http://localhost:3003/news/1", data: { "title": "曹縣宣布昨日晚間登日失敗", "date": "2016-08-12", "likes": 55, "views": 100086 } } ) // 結(jié)果 [ { "id": 1, "title": "曹縣宣布昨日晚間登日失敗", "date": "2016-08-12", "likes": 55, "views": 100086 } ]
PATCH 和 DELETE 使用方式同上,就不做演示了。
參考資料json-server源碼 : json-server
mockjs源碼 : mockjs
demo : 示例代碼
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/79763.html
摘要:今天發(fā)現(xiàn)了一個神器在他的幫助下可以在很短的時間內(nèi)搭建一個然后就可以讓前端在不依賴后端的情況下進(jìn)行開發(fā)啦關(guān)于什么是設(shè)計指南阮一峰簡單來說,是一個模塊,運行服務(wù)器,你可以指定一個文件作為的數(shù)據(jù)源。更多屬性可以查看這里好啦,基本就是這樣啦, 今天發(fā)現(xiàn)了一個神器——json-server!在他的幫助下可以在很短的時間內(nèi)搭建一個Rest API, 然后就可以讓前端在不依賴后端的情況下進(jìn)行開發(fā)啦!...
摘要:官方地址使用可全局安裝,也可針對項目安裝。可用開啟服務(wù)。數(shù)據(jù)文件格式如下讓讀書點燃夢想地點濱江星耀城讓讀書點燃夢想地點濱江星耀城仿京東購物車仿京東購物車修改里面的命令。 在前端開發(fā)中,如果后端接口還沒有提供,前端拿不到數(shù)據(jù),可能就沒法繼續(xù)寫一些交互行為的代碼。這一問題可通過json-server來很好地解決。本文主要講如何將json-server和webpack進(jìn)行整合,基于vue-w...
摘要:前面演示了如何安裝并運行和使用第三方庫真實化模擬數(shù)據(jù)下面將展開更多的配置項和數(shù)據(jù)操作。示例數(shù)據(jù)源元小總小把清保住影辦歷戰(zhàn)資和總由共先定制向向圓適者定書她規(guī)置斗平相。 前面演示了如何安裝并運行 json server , 和使用第三方庫真實化模擬數(shù)據(jù) , 下面將展開更多的配置項和數(shù)據(jù)操作。 配置項 在安裝好json server之后,通過 json-server -h 可以看到如下配置項...
摘要:上一篇演示了如何安裝并運行在這里將使用第三方庫讓模擬的數(shù)據(jù)更加豐滿和實用。使用動態(tài)數(shù)據(jù)上一篇演示時,使用了作為數(shù)據(jù)載體,雖然方便,但是如果需要大量的數(shù)據(jù),則顯得力不從心。 上一篇演示了如何安裝并運行 json server , 在這里將使用第三方庫讓模擬的數(shù)據(jù)更加豐滿和實用。 使用動態(tài)數(shù)據(jù) 上一篇演示時,使用了 db.json 作為數(shù)據(jù)載體,雖然方便,但是如果需要大量的數(shù)據(jù),則顯得力不...
摘要:一什么是架構(gòu)即的縮寫,我們把他翻譯為表述性狀態(tài)傳遞,是博士在年他的博士論文中提出來的一種軟件架構(gòu)風(fēng)格。是個無狀態(tài)的協(xié)議,所以狀態(tài)就保存在服務(wù)器端。只要少量的數(shù)據(jù)就可使用,支持和。同時支持,同時提供一系列的查詢方法如。 一、什么是RESTful架構(gòu)? REST即Representational State Transfer的縮寫,我們把他翻譯為表述性狀態(tài)傳遞,是Roy Fielding博...
閱讀 4095·2023-04-26 01:48
閱讀 3267·2021-10-13 09:40
閱讀 1746·2021-09-26 09:55
閱讀 3633·2021-08-12 13:23
閱讀 1791·2021-07-25 21:37
閱讀 3436·2019-08-30 15:53
閱讀 1399·2019-08-29 14:16
閱讀 1400·2019-08-29 12:59