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 onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
JavaScript中Object和Function的关系小结
Sep 26 Javascript
js获得当前时区夏令时发生和终止的时间代码
Feb 23 Javascript
Javascript表单验证要注意的事项
Sep 29 Javascript
jQuery Masonry瀑布流插件使用详解
Nov 17 Javascript
Javascript URI 解析介绍
Mar 15 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
Mar 11 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
[原创]微信小程序获取网络类型的方法示例
Mar 01 Javascript
JQuery事件委托原理与用法实例分析
May 13 jQuery
JavaScript 事件代理需要注意的地方
Sep 08 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
php函数连续调用实例分析
2015/07/30 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
Vue 实现简易多行滚动"弹幕"效果
2020/01/02 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
跟老齐学Python之正规地说一句话
2014/09/28 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
Python切片知识解析
2016/03/06 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
Python代码太长换行的实现
2019/07/05 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
《钱学森》听课反思
2014/03/01 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
常住证明范本
2015/06/23 职场文书
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
梳理总结Python开发中需要摒弃的18个坏习惯
2022/01/22 Python
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python