Vue-cli 使用json server在本地模擬請(qǐng)求數(shù)據(jù)的示例代碼
寫(xiě)在前面:
開(kāi)發(fā)的時(shí)候,前后端不論是否分離,接口多半是滯后于頁(yè)面開(kāi)發(fā)的。所以建立一個(gè)REST風(fēng)格的API接口,給前端頁(yè)面提供虛擬的數(shù)據(jù),是非常有必要的。json server 作為模擬工具,因?yàn)樵O(shè)置簡(jiǎn)單,容易上手。本文是做一個(gè)簡(jiǎn)單的上手介紹,有需要的朋友可以做一下參考,喜歡的可以點(diǎn)波贊,或者關(guān)注一下,希望可以幫到大家。
json server 工具:
在后臺(tái)還沒(méi)給接口之前,使用JSON-Server搭建一臺(tái)JSON服務(wù)器,將接口要返回的數(shù)據(jù)放在json文件里面。然后請(qǐng)求這些數(shù)據(jù),這樣我們可以先做一些東西,等后臺(tái)接口好了之后直接替換就可以了,不必一直傻傻的等后端的接口。
安裝:
npm install json-server --save //json server npm install axios --save //使用axios發(fā)送請(qǐng)求
json文件:
創(chuàng)建一個(gè)json文件,起名叫db.json,文件放置在跟index.html平級(jí)的目錄中,也可以放置在static文件夾中,db.json文件里面的內(nèi)容,是一個(gè)對(duì)象。
設(shè)置:
位置: build/dev-server.js
//json-server 假數(shù)據(jù) var jsonServer = require('json-server') //引入文件 var apiServer = jsonServer.create(); //創(chuàng)建服務(wù)器 var apiRouter = jsonServer.router('db.json') //引入json 文件 ,這里的地址就是你json文件的地址 var middlewares = jsonServer.defaults(); //返回JSON服務(wù)器使用的中間件。 apiServer.use(middlewares) apiServer.use('/json',apiRouter) apiServer.listen( port + 1,function(){ //json服務(wù)器端口:比如你使用8080,這里的json服務(wù)器就是8081端口 console.log('JSON Server is running') //json server成功運(yùn)行會(huì)在git bash里面打印出'JSON Server is running' })
如圖所示:
請(qǐng)求接口代理:
proxyTable: { '/api': { target: 'http://localhost:8081/', // 通過(guò)本地服務(wù)器將你的請(qǐng)求轉(zhuǎn)發(fā)到這個(gè)地址 changeOrigin: true, // 設(shè)置這個(gè)參數(shù)可以避免跨域 pathRewrite: { '/api': '/' } }, },
如下圖所示:
npm run dev啟動(dòng)項(xiàng)目可以訪(fǎng)問(wèn)到你的json文件:
現(xiàn)在服務(wù)器已經(jīng)成功啟動(dòng),在地址欄輸入 localhost:8081,就可以看到的json文件,加上相應(yīng)后綴即可訪(fǎng)問(wèn)文件里面的數(shù)據(jù)。
jsonserver服務(wù)器:
jsonserver服務(wù)器
json數(shù)據(jù):
json數(shù)據(jù)
axios請(qǐng)求json數(shù)據(jù):
光看到這些數(shù)據(jù)可不行,我們還需要發(fā)起請(qǐng)求,請(qǐng)求到這些數(shù)據(jù),然后執(zhí)行各種各樣的騷操作。
main.js文件中:
import axios from 'axios';//引入文件 Vue.prototype.$ajax = axios;//將axios掛載到Vue實(shí)例中的$ajax上面,在項(xiàng)目中的任何位置通過(guò)this.$ajax使用
在組件中的使用方式,比如:
this.$ajax({ url:'/api/articles',//api 代理到j(luò)son文件地址,后面的后綴是文件中的對(duì)象或者是數(shù)組 method:'get',//請(qǐng)求方式 //這里可以添加axios文檔中的各種配置 }).then(function (res) { console.log(res,'成功'); }).catch(function (err) { console.log(err,'錯(cuò)誤'); }) //還可以像下面這么簡(jiǎn)寫(xiě) this.$ajax.get('api/publishContent').then((res) => { console.log(res,'請(qǐng)求成功') },(err)=>{ console.log(err,'請(qǐng)求失敗'); });
JSON-Server只接受GET請(qǐng)求,GitHub上提到:
If you make POST, PUT, PATCH or DELETE requests, changes will be automatically and safely saved to db.json using lowdb.
文檔:
附上json server的github,和axios的中文文檔,大家可以進(jìn)去研究一下。
json server設(shè)置和使用起來(lái)還是蠻方便的,大家感興趣的話(huà),可以跟著文章設(shè)置一波。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SQL Server之JSON 函數(shù)詳解
- MockJs結(jié)合json-server模擬后臺(tái)數(shù)據(jù)
- Vue請(qǐng)求JSON Server服務(wù)器數(shù)據(jù)的實(shí)現(xiàn)方法
- 使用json-server簡(jiǎn)單完成CRUD模擬后臺(tái)數(shù)據(jù)的方法
- Vue使用json-server進(jìn)行后端數(shù)據(jù)模擬功能
- mockjs,json-server一起搭建前端通用的數(shù)據(jù)模擬框架教程
- SqlServer將查詢(xún)結(jié)果轉(zhuǎn)換為XML和JSON
- JsonServer安裝及啟動(dòng)過(guò)程圖解
相關(guān)文章
antd upload上傳組件如何獲取服務(wù)端返回?cái)?shù)據(jù)
這篇文章主要介紹了antd upload上傳組件如何獲取服務(wù)端返回?cái)?shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Vue3+vantUI3時(shí)間組件封裝過(guò)程支持選擇年以及年月日時(shí)分秒
這篇文章主要介紹了Vue3+vantUI3時(shí)間組件封裝過(guò)程支持選擇年以及年月日時(shí)分秒,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07vue+vux?vux安裝出現(xiàn)錯(cuò)誤問(wèn)題及解決
這篇文章主要介紹了vue+vux?vux安裝出現(xiàn)錯(cuò)誤問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08element 結(jié)合vue 在表單驗(yàn)證時(shí)有值卻提示錯(cuò)誤的解決辦法
這篇文章主要介紹了element 結(jié)合vue 在表單驗(yàn)證下,有值卻提示錯(cuò)誤的解決辦法,需要的朋友可以參考下2018-01-01使用ElementUI el-upload實(shí)現(xiàn)一次性上傳多個(gè)文件
在日常的前端開(kāi)發(fā)中,文件上傳是一個(gè)非常常見(jiàn)的需求,尤其是在用戶(hù)需要一次性上傳多個(gè)文件的場(chǎng)景下,ElementUI作為一款非常優(yōu)秀的Vue.js 2.0組件庫(kù),為我們提供了豐富的UI組件,本文介紹了如何使用ElementUI el-upload實(shí)現(xiàn)一次性上傳多個(gè)文件,需要的朋友可以參考下2024-08-08