浅谈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 相关文章推荐
JavaScript中函数声明优先于变量声明的实例分析
Mar 01 Javascript
简介JavaScript中Math.LOG10E属性的使用
Jun 14 Javascript
使用JavaScript的AngularJS库编写hello world的方法
Jun 23 Javascript
浅析javascript函数表达式
Feb 10 Javascript
js实现分割上传大文件
Mar 09 Javascript
12个非常实用的JavaScript小技巧【推荐】
May 18 Javascript
第一次接触神奇的Bootstrap基础排版
Jul 26 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
Sep 18 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
Oct 24 Javascript
详解如何构建Promise队列实现异步函数顺序执行
Oct 23 Javascript
vue实现图片上传到后台
Jun 29 Javascript
JavaScript实现切换多张图片
Jan 27 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的无限分类实现想法~
2007/01/02 PHP
解决中英文字符串长度问题函数
2007/01/16 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
2014最热门的24个php类库汇总
2014/12/18 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
Python实现的RSS阅读器实例
2015/07/25 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
pyqt5实现登录界面的模板
2020/05/30 Python
python获取Linux发行版名称
2019/08/30 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
python代码xml转txt实例
2020/03/10 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
销售工作人员的自我评价分享
2013/11/10 职场文书
初中生自我评价
2014/02/01 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
环保倡议书50字
2014/05/15 职场文书
公司董事长岗位职责
2014/06/08 职场文书
先进个人推荐材料
2014/12/29 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
vue递归实现树形组件
2022/07/15 Vue.js