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不同页面传值的改进版
Sep 30 Javascript
ExtJS 2.0 实用简明教程之布局概述
Apr 29 Javascript
5个最佳的Javascript日期处理类库分享
Apr 15 Javascript
javascript倒计时功能实现代码
Jun 07 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
深入学习jQuery Validate表单验证
Jan 18 Javascript
使用3D引擎threeJS实现星空粒子移动效果
Sep 13 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 Javascript
小程序页面动态配置实现方法
Feb 05 Javascript
JS运算符简单用法示例
Jan 19 Javascript
vue里使用create, mounted调用方法
Apr 26 Vue.js
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 无法载入mysql扩展
2010/03/12 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
js实现的常用的左侧导航效果
2013/10/17 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
python使用递归解决全排列数字示例
2014/02/11 Python
Python编程中的反模式实例分析
2014/12/08 Python
python遍历数组的方法小结
2015/04/30 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
Form表单及django的form表单的补充
2019/07/25 Python
Python类继承和多态原理解析
2020/02/05 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
澳大利亚百货公司:David Jones
2018/02/08 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
JACK & JONES荷兰官网:男士服装和鞋子
2021/03/07 全球购物
自我评价范文
2013/12/22 职场文书
垃圾桶标语
2014/06/24 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
党支部考察意见范文
2015/06/02 职场文书