摘要:前面演示了如何安裝并運行和使用第三方庫真實化模擬數據下面將展開更多的配置項和數據操作。示例數據源元小總小把清保住影辦歷戰資和總由共先定制向向圓適者定書她規置斗平相。
前面演示了如何安裝并運行 json server , 和使用第三方庫真實化模擬數據 , 下面將展開更多的配置項和數據操作。
配置項在安裝好json server之后,通過 json-server -h 可以看到如下配置項:
json-server [options]
既可以通過命令行方式單行配置,如
json-server db.js -p 3003 -d 500 -q -r ./routes.json
,也可以通過 json-server.json 文件進行配置后:
# /mock/json-server.json { "host": "0.0.0.0", "port": "3003", "watch": false, "delay": 500, "quiet": true, "routes": "./routes.json" }
運行
json-server db.js返回靜態文件
在 /mock 下建立 public 目錄,即可直接訪問其下的所有靜態文件,包括但不限于
js, css ,markdown 文件等。
地址欄輸入 http://localhist:3003/readme.md 即可訪問以下文件
# /mock/public/readme.md # hello Mr DJ,這節奏不要停移動設備訪問
通過 json server 建立的rest api服務默認可以在局域網中通過WIFI訪問接口。
windows下面通過 ipconfig 查找到電腦的局域網地址.mac設備是通過 ifconfig | grep "inet " | grep -v 127.0.0.1 查看。
比如我的電腦局域網ip是 192.168.0.6,在手機上訪問 http://192.168.0.6:3003 即可。
可以通過自定義路由的形式,簡化數據結構,或是建立高彈性的web api,例如
# /mock/routes.json { "/news/:id/show": "/news/:id", "/topics/:id/show": "/news/:id", }
訪問 /news/1/show 和 topics/1/show 均返回指定的 /news/1 內容。
* 需要注意的是,路由必須以 / 開頭
npm啟動相比在終端中直接輸入各種命令,我更喜歡利用 node scripts 來處理任務,在 /mock 下建立文件 package.json,然后運行 npm run mock 。
# /mock/package.json { "scripts": { "mock": "json-server db.js" } }數據過濾
數據過濾是 json server 中非常強力的功能。通過url上簡單的query字段,即可過濾出各種各樣的數據。
示例數據源:
[ { "id": 0, "title": "元小總小把清保住影辦歷戰資和總由", "desc": "共先定制向向圓適者定書她規置斗平相。要廣確但教金更前三響角面等以白。眼查何參提適", "tag": "值集空", "views": 3810, "images": [ "http://dummyimage.com/200x100/79f2a5&text=別角置", "http://dummyimage.com/200x100/f28279&text=收面幾容受取", "http://dummyimage.com/200x100/7993f2&text=做件" ] }, { "id": 1, "title": "物器許條對越復術", "desc": "方江周是府整頭書生權部部條。始克識史但給又約同段十子按者感律備。關長廠平難山從合", "tag": "分七眼術保", "views": 4673, "images": [ "http://dummyimage.com/200x100/79f2a5&text=別角置" ] }, { "id": 2, "title": "但學卻連質法計性想般最", "desc": "以群親它天即資幾行位具回同務度。場養驗快但部光天火金時內我。任提教毛辦結論感看還", "tag": "響六", "views": 4131, "images": [ "http://dummyimage.com/200x100/79f2a5&text=別角置", "http://dummyimage.com/200x100/f28279&text=收面幾容受取", "http://dummyimage.com/200x100/7993f2&text=做件" ] }, ... { "id": 99, "title": "則群起然線部其深我位價業紅候院", "desc": "為高值務須西生型住斷況里聽。志置開用她你然始查她響元還。照員給門次府此據它后支越", "tag": "何你", "views": 2952, "images": [ "http://dummyimage.com/200x100/79f2a5&text=別角置" ] } ]屬性值(Filter)
使用 . 操作對象屬性值
// 獲取圖片數量為3,且標簽字數為2的新聞 GET /news?images.length=3&tag.length=2分割(Slice)
使用 _start 和 _end 或者 _limit (response中會包含 X-Total-Count)
// 獲取id=10開始的5篇新聞 GET /news?_start=10&_limit=5 // 獲取id=20開始,id=35結束的新聞 GET /news?_start=20&_end=35排序(Sort)
使用 _sort 和 _order (默認使用升序(ASC))
// 按照瀏覽數量降序排列 GET /news?_sort=views&_order=DESC運算符(Operators)
使用 _gte 或 _lte 選取一個范圍
// 選取瀏覽量在2000-2500之間的新聞 GET /news?views_gte=2000&views_lte=2500
使用 _ne 排除一個值
// 選擇tag屬性不是 "國際新聞" 的分類 GET /news?tag_ne=國際新聞
使用 _like 進行模糊查找 (支持正則表達式)
// 查找title中含有 "前端" 字樣的新聞 GET /news?title_like=前端全文檢索(Full-text search)
使用 q,在對象全部value中遍歷查找包含指定值的數據
// 查找新聞全部字段包含 "強拆" 字樣的數據 GET /news?q=強拆關系圖譜(Relationships)
獲取包含下級資源的數據, 使用 _embed
GET /news?_embed=comments GET /news/1?_embed=comments
獲取包含上級資源的數據, 使用 _expand
GET /news?_expand=post GET /news/1?_expand=post作為中間件
除了獨立作為rest api 服務器之外, json server 同樣可以作為諸如 Express 之類框架的中間件使用,具體API詳見 json server模塊
參考資料json-server源碼 : json-server
mockjs源碼 : mockjs
demo : 示例代碼
全文完
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79761.html
摘要:一什么是架構即的縮寫,我們把他翻譯為表述性狀態傳遞,是博士在年他的博士論文中提出來的一種軟件架構風格。是個無狀態的協議,所以狀態就保存在服務器端。只要少量的數據就可使用,支持和。同時支持,同時提供一系列的查詢方法如。 一、什么是RESTful架構? REST即Representational State Transfer的縮寫,我們把他翻譯為表述性狀態傳遞,是Roy Fielding博...
摘要:今天發現了一個神器在他的幫助下可以在很短的時間內搭建一個然后就可以讓前端在不依賴后端的情況下進行開發啦關于什么是設計指南阮一峰簡單來說,是一個模塊,運行服務器,你可以指定一個文件作為的數據源。更多屬性可以查看這里好啦,基本就是這樣啦, 今天發現了一個神器——json-server!在他的幫助下可以在很短的時間內搭建一個Rest API, 然后就可以讓前端在不依賴后端的情況下進行開發啦!...
摘要:曹縣宣布昨日晚間登日成功長江流域首次發現海豚支持黨中央決定抄寫黨章勢在必行為了方便,再創建一個文件,寫入然后使用到目錄下執行命令,如果成功會出現你的電腦中文件夾所在目錄的路徑如果不成功請檢查文件的格式是否正確。 在開發過程中,前后端不論是否分離,接口多半是滯后于頁面開發的。所以建立一個REST風格的API接口,給前端頁面提供虛擬的數據,是非常有必要的。 對比過多種mock工具后,我最終...
摘要:官方地址使用可全局安裝,也可針對項目安裝。可用開啟服務。數據文件格式如下讓讀書點燃夢想地點濱江星耀城讓讀書點燃夢想地點濱江星耀城仿京東購物車仿京東購物車修改里面的命令。 在前端開發中,如果后端接口還沒有提供,前端拿不到數據,可能就沒法繼續寫一些交互行為的代碼。這一問題可通過json-server來很好地解決。本文主要講如何將json-server和webpack進行整合,基于vue-w...
摘要:上一篇演示了如何安裝并運行在這里將使用第三方庫讓模擬的數據更加豐滿和實用。使用動態數據上一篇演示時,使用了作為數據載體,雖然方便,但是如果需要大量的數據,則顯得力不從心。 上一篇演示了如何安裝并運行 json server , 在這里將使用第三方庫讓模擬的數據更加豐滿和實用。 使用動態數據 上一篇演示時,使用了 db.json 作為數據載體,雖然方便,但是如果需要大量的數據,則顯得力不...
閱讀 2058·2021-11-11 16:54
閱讀 1039·2021-10-12 10:12
閱讀 377·2019-08-30 15:43
閱讀 646·2019-08-29 13:15
閱讀 1075·2019-08-29 13:12
閱讀 1524·2019-08-26 12:09
閱讀 1655·2019-08-26 10:24
閱讀 2250·2019-08-26 10:15