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 解析后的xml对象的读取方法细解
Jul 25 Javascript
jquery提升性能最佳实践小结
Dec 06 Javascript
文本框回车提交与禁止提交示例
Sep 27 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
May 15 Javascript
使用正则表达式的格式化与高亮显示json字符串
Dec 03 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
AngularJS 表达式详解及实例代码
Sep 14 Javascript
微信小程序 支付简单实例及注意事项
Jan 06 Javascript
Angular 4.0学习教程之架构详解
Sep 12 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
Ant Design Pro 下实现文件下载的实现代码
Dec 03 Javascript
react基本安装与测试示例
Apr 27 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
PHP自定义函数收代码
2010/08/01 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
jquery操作select大全
2014/04/25 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
python 命令行传入参数实现解析
2019/08/30 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
Python 使用office365邮箱的示例
2020/10/29 Python
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
公司出纳岗位职责
2013/12/07 职场文书
小饰品店的创业计划书范文
2013/12/28 职场文书
高一政治教学反思
2014/01/28 职场文书
年度评优评先方案
2014/06/03 职场文书
信仰心得体会
2014/09/05 职场文书
大国崛起日本观后感
2015/06/02 职场文书
vue实现Toast组件轻提示
2022/04/10 Vue.js