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 相关文章推荐
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
js 异步处理进度条
Apr 01 Javascript
JS数组的赋值介绍
Mar 10 Javascript
$.extend 的一个小问题
Jun 18 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
Dec 08 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
Jan 29 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
javascript正则表达式模糊匹配IP地址功能示例
Jan 06 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 Javascript
JS判断浏览器类型与操作系统的方法分析
Apr 30 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 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
?繁体转换的class
2006/10/09 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
日期 时间js控件
2009/05/07 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
python中map()与zip()操作方法
2016/02/27 Python
基于Python的关键字监控及告警
2017/07/06 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
Python Django 命名空间模式的实现
2019/08/09 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
pytorch构建多模型实例
2020/01/15 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
一个入门级python爬虫教程详解
2021/01/27 Python
客户代表实习人员自我鉴定
2013/09/27 职场文书
学生处主任岗位职责
2013/12/01 职场文书
2014年清明节寄语
2014/04/03 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
会计岗位职责
2015/02/03 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
就业推荐表院系意见
2015/06/05 职场文书
早安问候语大全
2015/11/10 职场文书
2016年国陪研修感言
2015/11/18 职场文书
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL