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 相关文章推荐
IE和Firefox下event事件杂谈
Dec 18 Javascript
js有序数组的连接问题
Oct 01 Javascript
利用javascript判断文件是否存在
Dec 31 Javascript
jQuery中:reset选择器用法实例
Jan 04 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
小程序红包雨的实现示例
Feb 19 Javascript
vue父子组件的通信方法(实例详解)
Nov 10 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
Nov 12 Javascript
Vue路由管理器Vue-router的使用方法详解
Feb 05 Javascript
Javascript如何实现扩充基本类型
Aug 26 Javascript
node.js使用express-fileupload中间件实现文件上传
Jul 16 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
极典R601SW收音机
2021/03/02 无线电
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
PHP闭包实例解析
2014/09/08 PHP
php生成RSS订阅的方法
2015/02/13 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
JS与C#编码解码
2013/12/03 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
用Python进行TCP网络编程的教程
2015/04/29 Python
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
水果花束:Fruit Bouquets
2017/12/20 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
总裁办公室主任职责
2014/01/02 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
五一口号
2014/06/19 职场文书
法学求职信
2014/06/22 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server