浅谈vue项目用到的mock数据接口的两种方式


Posted in Javascript onOctober 09, 2019

1.使用devServer.before进行数据mock

//通过配置devServer.before选项,设置url访问路径及response响应数据,进行mock数据。
const { data } = require('./data.json')
// 引入json数据对象

//vue.config.js配置文件中进行Vue CLI的配置
module.exports = {
 //...
 devServer: {
  before: function(app, server) {
   app.get('/api/data', function(req, res) {
    res.json({ data: data, errno: 0 });
   });
  }
 }
};
import axios from 'axios'
const ERRNO = 0

//通过函数柯力化,接收url作为参数,以返回新的函数接收额外的参数作为axios配置项
function get (url) {
 return function (params) {
  return axios.get(url, {
   params
  }).then((res) => {
   const { errno, data } = res.data
   if (errno === ERRNO) {
    return data
   }
  }).catch((e) => {
  })
 }
}

const getData = get('api/data')

getSeller().then(res => {
 console.log(res)
})

2.使用Mock.js进行数据mock

使用Mock.mock(),根据数据模板生成模拟数据。

import Mock from 'mockjs'
import data from './bookHome'
//导入存放模拟json数据的js文件


Mock.mock(/\/api\/data/, 'get', home)
//表示需要拦截的 URL,可以是 URL 字符串或 URL 正则。
//表示需要拦截的 Ajax 请求类型。例如 GET、POST、PUT、DELETE 等。
//表示数据模板,可以是对象或字符串。例如 { 'data|1-10':[{}] }、'@EMAIL'。
/* axios获取mock数据 */
import axios from 'axios'

export function getData() {
 return axios({
  method: 'get',
  url: `${process.env.VUE_APP_BOOK_URL}/api/data`
  //通过环境指定的默认地址设定接口url,方便后续调用
 })
}


 //接口方法返回promise对象,最终获取mock数据
 getData().then(response => {
  if (response && response.status === 200) {
   const data = response.data
   console.log(data)
  }
 })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 第二课 操作包装集元素代码
Mar 14 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
Aug 27 Javascript
详解Javascript模板引擎mustache.js
Jan 20 Javascript
jQuery Mobile 和 Kendo UI 的比较
May 05 Javascript
JavaScript浮点数及运算精度调整详解
Oct 21 Javascript
分享十三个最佳JavaScript数据网格库
Apr 07 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
基于AngularJS实现表单验证功能
Jul 28 Javascript
node.js学习之断言assert的使用示例
Sep 28 Javascript
TypeScript开发Node.js程序的方法
Apr 30 Javascript
解决layer弹出层msg的文字不显示的问题
Sep 11 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
Oct 19 Javascript
Vue3.0数据响应式原理详解
Oct 09 #Javascript
Vue分页插件的前后端配置与使用
Oct 09 #Javascript
vue3修改link标签默认icon无效问题详解
Oct 09 #Javascript
将RGB值转换为灰度值的简单算法
Oct 09 #Javascript
基于Vue 撸一个指令实现拖拽功能
Oct 09 #Javascript
解决Vue动态加载本地图片问题
Oct 09 #Javascript
Vue3 中的数据侦测的实现
Oct 09 #Javascript
You might like
php下批量挂马和批量清马代码
2011/02/27 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
Python标准库内置函数complex介绍
2014/11/25 Python
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
Python脚本实现格式化css文件
2015/04/08 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
在python里面运用多继承方法详解
2019/07/01 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
Python xlwt模块使用代码实例
2020/06/10 Python
python实现简单的tcp 文件下载
2020/09/16 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python