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 动态生成方法的例子
Jul 22 Javascript
扩展jQuery 键盘事件的几个基本方法
Oct 30 Javascript
Node.js实战 建立简单的Web服务器
Mar 08 Javascript
Egret引擎开发指南之视觉编程
Sep 03 Javascript
基于javascript实现的搜索时自动提示功能
Dec 26 Javascript
JavaScript中实现map功能代码分享
Jun 11 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
Jul 27 Javascript
zTree jQuery 树插件的使用(实例讲解)
Sep 25 jQuery
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
vue.js实现的幻灯片功能示例
Jan 18 Javascript
解决vuex刷新状态初始化的方法实现
Aug 15 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
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
React快速入门教程
2017/01/17 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
JS常见算法详解
2017/02/28 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
Python正则表达式的使用范例详解
2014/08/08 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python实现发送邮件功能
2017/07/22 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
python django生成迁移文件的实例
2019/08/31 Python
django框架cookie和session用法实例详解
2019/12/10 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
护士自我评价
2014/02/01 职场文书
学生感冒英文请假条
2014/02/04 职场文书
八月一日观后感
2015/06/10 职场文书
会计主管竞聘书
2015/09/15 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL