Vue-cli 使用json server在本地模拟请求数据的示例代码


Posted in Javascript onNovember 02, 2017

写在前面:

开发的时候,前后端不论是否分离,接口多半是滞后于页面开发的。所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要的。json server 作为模拟工具,因为设置简单,容易上手。本文是做一个简单的上手介绍,有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。

json server 工具:

在后台还没给接口之前,使用JSON-Server搭建一台JSON服务器,将接口要返回的数据放在json文件里面。然后请求这些数据,这样我们可以先做一些东西,等后台接口好了之后直接替换就可以了,不必一直傻傻的等后端的接口。

安装:

npm install json-server --save //json server
npm install axios --save //使用axios发送请求

json文件:

创建一个json文件,起名叫db.json,文件放置在跟index.html平级的目录中,也可以放置在static文件夹中,db.json文件里面的内容,是一个对象。

设置

位置: build/dev-server.js

//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'
})

如图所示:

Vue-cli 使用json server在本地模拟请求数据的示例代码 

请求接口代理:

proxyTable: {
 '/api': {
  target: 'http://localhost:8081/', // 通过本地服务器将你的请求转发到这个地址
  changeOrigin: true, // 设置这个参数可以避免跨域
  pathRewrite: {
   '/api': '/'
  }
 },
},

如下图所示:

Vue-cli 使用json server在本地模拟请求数据的示例代码 

npm run dev启动项目可以访问到你的json文件:

现在服务器已经成功启动,在地址栏输入 localhost:8081,就可以看到的json文件,加上相应后缀即可访问文件里面的数据。

jsonserver服务器:

Vue-cli 使用json server在本地模拟请求数据的示例代码 

jsonserver服务器

json数据:

Vue-cli 使用json server在本地模拟请求数据的示例代码 

json数据

axios请求json数据:

光看到这些数据可不行,我们还需要发起请求,请求到这些数据,然后执行各种各样的骚操作。

main.js文件中:

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,'请求失败');
 });

JSON-Server只接受GET请求,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的中文文档,大家可以进去研究一下。

json server设置和使用起来还是蛮方便的,大家感兴趣的话,可以跟着文章设置一波。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
offsetHeight在OnLoad中获取为0的现象
Jul 22 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
May 08 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
Oct 22 Javascript
深入理解JavaScript中的浮点数
May 18 Javascript
浅析JavaScript回调函数应用
May 22 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
JavaScript类的继承操作实例总结
Dec 20 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
May 06 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 #Javascript
JavaScript登录验证基础教程
Nov 01 #Javascript
vue打包后显示空白正确处理方法
Nov 01 #Javascript
js实现登录与注册界面
Nov 01 #Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 #Javascript
五步轻松实现zTree的使用
Nov 01 #Javascript
BootStrap TreeView使用实例详解
Nov 01 #Javascript
You might like
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
iOS10推送通知开发教程
2016/09/19 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
对象题目的一个坑 理解Javascript对象
2015/12/22 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
socket在egg中的使用实例代码详解
2019/05/30 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
详解Python中的Descriptor描述符类
2016/06/14 Python
python处理xml文件的方法小结
2017/05/02 Python
python实现简单加密解密机制
2019/03/19 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
python 内置函数汇总详解
2019/09/16 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
信息技术国培研修日志
2015/11/13 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
javascript的var与let,const之间的区别详解
2022/02/18 Javascript