之前都是介绍在普通项目中使用mock.js,那么本次就来介绍一下在vue中使用mock.js实现前后端分离。

安装:

npm install mockjs

这里先写个小案例介绍一下具体使用,写法不规范,仅供参考。

然后案例讲完后我们讲具体的规范使用

那么一起来看看这个案例吧:

import Mock from "mockjs"

export default {

name: "FunctionsDbSource",

methods:{

// 接口测试

init(){

// 请求后端数据,查询数据源

this.axios({

method: "get",

url:`${this.baseURL}/GetAll`,

headers: {

Account: "Admin",

Password:"888888"

}

})

.then((response)=> {

console.log(response);

})

.catch((error)=> {

console.log(error);

});

}

},

created(){

Mock.mock(`${this.baseURL}/GetAll`, {

'users|5': [ {

'name': '@cname', //中文名称

'age|1-100': 100, //100以内随机整数

'birthday': '@date("yyyy-MM-dd")', //日期

'city': '@city(true)' //中国城市

}]

});

this.init();

}

}

首先引入了mock.js,然后定义了一个方法,用axios请求后台数据,在创建后调用此方法,然后我在创建后使用mock.js拦截请求,模拟数据(这里我模拟的是一个5位长度的users数组),只要mock的url地址和请求的地址相同,就会自动拦截请求。

我们打印了一下请求的结果response:

大家可以看到,和后端返回的数据格式一致,只是里面内容是我们自己模拟的,所以,只要提前和后端商量好数据格式,我们自己进行模拟数据,完成界面得渲染,等到后端写好数据接口,到时候只要把mock部分删除,就是我们自己想要的结果了。

但是每个请求都这样在vue页面中去写mock,后期删除起来也不方便,可维护性低,高耦合,所以我们这里就涉及到规范的写法。

1、安装:

npm install mockjs

2、手动新建mock.js文件(当然新建文件夹把它抽离出来也是可以的)

内容如下(根据实际需求更改):

import Mock from 'mockjs' // 引入mockjs

let data = 'users|5': [ {

'name': '@cname', //中文名称

'age|1-100': 100, //100以内随机整数

'birthday': '@date("yyyy-MM-dd")', //日期

'city': '@city(true)' //中国城市

}]

Mock.mock('/data/index', 'get', data) // 根据数据模板生成模拟数据

3、main.js中引入(注意自己js文件的路径)

// 引入mock

require('./mock.js');

4、页面中使用:

import Mock from "mockjs"

export default {

name: "FunctionsDbSource",

methods:{

// 接口测试

init(){

// 请求后端数据,查询数据源

this.axios({

method: "get",

url:"data/index",

})

.then((response)=> {

console.log(response);

})

.catch((error)=> {

console.log(error);

});

}

},

created(){

this.init();

}

}

以此我们就完成了抽离mock.js,之后只要往mock的js文件中添加请求即可,后续只要等后端接口写好,把main.js中的引入mock.js注释(删除)即可。

还有一种更直接的方法,因为mock只是我们生产环境需要的东西,当我们发布上线肯定不需要这部分请求,都会换成实际请求地址和数据,所以直接把mock.js配置到生产环境,上线部署打包不打包这部分即可,就和vue中的代理部分,上线是不会打包这部分的一样。

感兴趣的童鞋可以自己去研究研究哈。

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

时间: 2019-07-22

mock模拟接口测试 vue_vue+mock.js实现前后端分离相关推荐

  1. vue 新建的页面如何访问_Vue.js—实现前后端分离架构中前端页面搭建(四)(完)...

    [Vue.js实现前后端分离架构中前端页面搭建] 二十.实现服务端登录业务 前提:已经有单机版Eureka,端口8761.启动开Eureka 1. 新建父项目 新建backend_parent. 为了 ...

  2. 图解基于 Node.js 实现前后端分离 - CSDN博客

    因为会上出了个意外,ppt图片全部丢失,只好对着白板跟大家交流了半个多小时.由于我做演讲不喜欢写太多的文字,没有图片的情况下讲漏了一些内容.这篇文章是我在会上分享内容对照ppt进行地整理. 基本介绍 ...

  3. 图解基于node.js实现前后端分离

    因为会上出了个意外,ppt图片全部丢失,只好对着白板跟大家交流了半个多小时.由于我做演讲不喜欢写太多的文字,没有图片的情况下讲漏了一些内容.这篇文章是我在会上分享内容对照ppt进行地整理. 基本介绍 ...

  4. Spring Boot + Vue.js 实现前后端分离(附源码)

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者: 梁小生0101 链接:juejin.im/post/5c6 ...

  5. ASP.NET Core 实战:使用ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目

    一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自 ...

  6. Nginx+Vue.js+Tornado前后端分离架构环境实践(1)

    基于Python构建前后端分离服务架构实践,其中Web服务为Nginx,前端采用VUE组件,后端Web服务采用Tornado,数据库使用文档型MongoDB,服务协议主要为restfull. 1. N ...

  7. 前后端分离跨服务器文件上传,SpringBoot+Vue.js实现前后端分离的文件上传功能

    这篇文章需要一定vue和springboot的知识,分为两个项目,一个是前端vue项目,一个是后端springboot项目. 后端项目搭建 我使用的是springboot1.5.10+jdk8+ide ...

  8. mock模拟接口测试 vue_Easy Mock以及Vue+Mock.js模拟数据

    Easy Mock以及Vue+Mock.js模拟数据 一.Mock.js简介 Mock.js是一个可以模拟后端数据,也可以模拟增删改查操作的js库 基础语法规范 数据模板中的每个属性由 3 部分构成: ...

  9. mock模拟接口测试 vue_VUE使用Mock模拟接口

    之前用EASY-MOCK来模拟接口,但是这网站三天两头GG,太生气了~! 发现可以自己在项目里使用Mock,开始使用~ 安装VUE在这里不写了,先从安装Mock开始: 安装mockjs npm ins ...

最新文章

  1. python数字类型-Python Number(数字)
  2. Windows Server 2012系列之二安装AD及创建域
  3. sql对查询的一列结果进行去重
  4. java代码杨辉三角_用java实现杨辉三角的示例代码
  5. Leetcode--91. 解码方法
  6. 用jQuery实现简单的加入收藏页面的功能
  7. 微软认证学习资料大集合(软件+资料)
  8. 对于未来chrome80 samesite问题的兼容解决方案
  9. HttpClient Util 工具
  10. 2018春江苏省计算机等级考试,2018年春季江苏省计算机等级考试报名通知
  11. 【python 保存生成的图片 (plt;opencv;PIL)】
  12. python画实心圆_任意空实心圆形打印|Python练习系列[8]
  13. 快速入门STM32单片机-机械硬件篇
  14. yes we can
  15. 2020年wordpress主题开发视频教程、WP主题WP模板开发视频教程
  16. 位(bit)、字节(Byte)、MB(兆位)之间的换算关系
  17. MFC 根据圆心和半径画圆
  18. 前端jQuery的jQuery 插件库的插件(使用方法)
  19. 关于windows系统中txt文档的换行符\r\n
  20. java简单游戏制作教程,使用指南

热门文章

  1. HDU 1213 How Many Tables【并查集】
  2. mysql中datetime比较大小问题 (转的)
  3. 求二维数组的转置矩阵
  4. sql 查讯本日 本周 本月
  5. C++类中protected访问权限问题
  6. ubuntu12.04
  7. 程序的内存分配模式(堆栈以及静态存储区,文字常量区,代码区)
  8. 典型方法_裴礼文老师编数学分析中的典型问题与方法练习参考答案的说明
  9. 支持字典_手把手教你学Python之字典
  10. python网络爬虫系列(七)——selenium的介绍 selenium定位获取标签对象并提取数据 selenium的其它使用方法