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 相关文章推荐
文本域中换行符的替换示例
Mar 04 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
JS实现图片产生波纹一样flash效果的方法
Feb 27 Javascript
jQuery判断checkbox选中状态
May 12 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
微信小程序获取手机号授权用户登录功能
Nov 09 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
webpack vue项目开发环境局域网访问方法
Mar 20 Javascript
微信小程序通过保存图片分享到朋友圈功能
May 24 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 Javascript
JS跨浏览器解析XML应用过程详解
Oct 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
html中select语句读取mysql表中内容
2006/10/09 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PDO::errorCode讲解
2019/01/28 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
详解package.json版本号规则
2019/08/01 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
python中关于数据类型的学习笔记
2020/07/19 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
信访工作者先进事迹
2014/01/17 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
城管综合整治方案
2014/05/01 职场文书
演讲比赛主持词
2015/06/29 职场文书
宿舍管理制度范本
2015/08/07 职场文书
感谢师恩主题班会
2015/08/17 职场文书
队名及霸气口号大全
2015/12/25 职场文书
vue实现列表垂直无缝滚动
2022/04/08 Vue.js