目录
2.4 为每个*.vue定义单独的xxx-mock.js文件
2.5 在index.js中导入xxx-mock.js,并添加拦截路由配置
1. 什么是Mock.js?
Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。
使用场景:
前后端分离开发开发过程当中,经常会遇到以下几个尴尬的场景:
1. 老大,接口文档还没输出,我的好多活干不下去啊!
2. 后端小哥,接口写好了没,我要测试啊!
前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点
Mock.js的两个重要的特性 :
数据类型丰富:
支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
拦截Ajax请求:
不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。
此处给大家提供一个Mock.js的官方网站地址:
2. Mock.js使用步骤
2.1 安装mockjs依赖
2.2 引入
为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置
(1)dev.env
(2)prod.env
(3)main.js
注:import是ES6标准中的模块化解决方案,require是node中遵循CommonJS规范的模块化解决方案,后者支持动态引入,也就是require(${path}/xx.js)
2.3 目录和文件创建
在src目录下创建mock目录,定义mock主文件index.js,并在该文件中定义拦截路由配置
导入公共模块及mockjs全局设置
全局设置:设置所有ajax请求的超时时间,模拟网络传输耗时
2.4 为每个*.vue定义单独的xxx-mock.js文件
注1:可以添加自定义的json数据
注2:还可以通过mockjs的模板生成随机数据
2.5 在index.js中导入xxx-mock.js,并添加拦截路由配置
如何同时拦截get/post请求,并对get和post请求大小写不敏感呢?
那就请使用正则表达式吧
GET请求
前端debugger:
方式一:
方式二:
标记的断点会记录在这里:
3. 后台首页AppMain.vue的创建
3.1 Container布局容器
3.2 TopNav
注1:使用组件之间通信,完成左侧菜单折叠
TopNav页面的<template>标签:
TopNav页面的<script>标签:
3.3 LeftAside
LeftAside的template标签
LeftAside的script标签
4. vue组件之间传递数据(总线)
根据vue组件之间传递数据实现element-ui的NavMenu菜单折叠、展开效果。
4.1 子组件往父组件传递数据(this.$emit)
TopNav -> Main
4.2 父组件往子组件传递数据(props)
Main -> LeftAside