开发的时候,先后端不管是否分离,接口多半是滞后于页面开发的。因此创建一个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