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 学习笔记(十三)Dom创建表格
Jan 21 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
Apr 02 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
jQuery修改class属性和CSS样式整理
Jan 30 Javascript
JavaScript输出当前时间Unix时间戳的方法
Apr 06 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
微信小程序Redux绑定实例详解
Jun 07 Javascript
详解如何在react中搭建d3力导向图
Jan 12 Javascript
vue基于mint-ui实现城市选择三级联动
Jun 30 Javascript
Element-UI踩坑之Pagination组件的使用
Oct 29 Javascript
JS实现获取自定义属性data值的方法示例
Dec 19 Javascript
vue route新窗口跳转页面并且携带与接收参数
Apr 10 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
如何用js控制css中的float的代码
2007/08/16 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
js 利用className得到对象的实现代码
2011/11/15 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
JavaScript_ECMA5数组新特性详解
2016/06/12 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
wxPython事件驱动实例详解
2014/09/28 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
用python制作游戏外挂
2018/01/04 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
python绘制地震散点图
2019/06/18 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
运动会广播稿200米
2014/01/27 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript