開發的時候,先後端不管是否分離,接口多半是滯後於頁面開發的。因此創建一個REST風格的API接口,給前端頁面提供虛擬的數據,是很是有必要的。json server 做爲模擬工具,由於設置簡單,容易上手。本文是作一個簡單的上手介紹,有須要的朋友能夠作一下參考,喜歡的能夠點波贊,或者關注一下,但願能夠幫到你們。html
本文首發於個人我的blog:obkoro1.com前端
在後臺還沒給接口以前,使用JSON-Server搭建一臺JSON服務器,將接口要返回的數據放在json文件裏面。而後請求這些數據,這樣咱們能夠先作一些東西,等後臺接口好了以後直接替換就能夠了,沒必要一直傻傻的等後端的接口。vue
npm install json-server --save //json server
npm install axios --save //使用axios發送請求複製代碼
建立一個json文件,起名叫db.json,文件放置在跟index.html平級的目錄中,也能夠放置在static文件夾中,db.json文件裏面的內容,是一個對象。ios
位置: build/dev-server.jsgit
//json-server 假數據
var jsonServer = require('json-server') //引入文件
var apiServer = jsonServer.create(); //建立服務器
var apiRouter = jsonServer.router('db.json') //引入json 文件 ,這裏的地址就是你json文件的地址
var middlewares = jsonServer.defaults(); //返回JSON服務器使用的中間件。
apiServer.use(middlewares)
apiServer.use('/json',apiRouter)
apiServer.listen( port + 1,function(){ //json服務器端口:好比你使用8080,這裏的json服務器就是8081端口
console.log('JSON Server is running') //json server成功運行會在git bash裏面打印出'JSON Server is running'
})複製代碼
如圖所示:github
proxyTable: {
'/api': {
target: 'http://localhost:8081/', // 經過本地服務器將你的請求轉發到這個地址
changeOrigin: true, // 設置這個參數能夠避免跨域
pathRewrite: {
'/api': '/'
}
},
},複製代碼
以下圖所示:ajax
如今服務器已經成功啓動,在地址欄輸入 localhost:8081,就能夠看到的json文件,加上相應後綴便可訪問文件裏面的數據。下面幾張圖片出自:biubiubiuzzzvue-cli
jsonserver服務器:npm
json數據:
json
光看到這些數據可不行,咱們還須要發起請求,請求到這些數據,而後執行各類各樣的騷操做。
import axios from 'axios';//引入文件
Vue.prototype.$ajax = axios;//將axios掛載到Vue實例中的$ajax上面,在項目中的任何位置經過this.$ajax使用複製代碼
在組件中的使用方式,好比:
this.$ajax({
url:'/api/articles',//api 代理到json文件地址,後面的後綴是文件中的對象或者是數組
method:'get',//請求方式
//這裏能夠添加axios文檔中的各類配置
}).then(function (res) {
console.log(res,'成功');
}).catch(function (err) {
console.log(err,'錯誤');
})
//還能夠像下面這麼簡寫
this.$ajax.get('api/publishContent').then((res) => {
console.log(res,'請求成功')
},(err)=>{
console.log(err,'請求失敗');
});複製代碼
If you make POST, PUT, PATCH or DELETE requests, changes will be automatically and safely saved to db.json using lowdb.
lowdb介紹: www.jianshu.com/p/11d04a4c2…
附上json server的github,和axios的中文文檔,你們能夠進去研究一下。
json server設置和使用起來仍是蠻方便的,你們感興趣的話,能夠跟着文章設置一波。
最後:如需轉載,請放上原文連接並署名。碼字不易,感謝支持!本人寫文章本着交流記錄的心態,寫的很差之處,不撕逼,可是歡迎指點。而後就是但願看完的朋友點個喜歡,也能夠關注一下我。
blog網站 and 掘金我的主頁
以上2017.11.1