Mock 之搭建本地 MockJs
Mock 之搭建本地 MockJs
一、目的
模拟后端接口
二、发请求
1. install
npm install axios
2. 配置
src/utils/request.js
import axios from "axios"; // axios 导入包
const service = axios.create({}); // axios 简单配置
// /api/user/id token
service.interceptors.request.use((config) => {
return config;
}); // axios 请求拦截
service.interceptors.response.use((response) => {
const { data } = response;
// if (data.status == 200) {
// } else if (data.status == 403) {
// }
return data;
}); // axios响应拦截
export default service;
3. 对接口发起请求
src/api/index.js
import request from "@/utils/request";
export const getUsers = () =>
request({
url: "/api/users",
method: "get",
});
- axios 发起请求的代码都维护在 api 下。
三、Mock 模拟响应
1. install
npm install mockjs
2. 配置
src/mock/index.js
import Mock from "mockjs";
// example 相关
Mock.mock("/api/users", "get", function () {
return Mock.mock({
status: "200",
msg: "请求成功",
"data|3": [
{
name: "@cname", // Mock.Random.cname(),
age: "@integer(20,50)",
},
],
});
});
3. 把 mock 导入 main.js
导入才会执行,数据才会成功。
main.js
import "@/mock";
四、请求成功且 mock 成功
1. About.vue
src/views/About.vue
<template>
<!-- axios & mock-验证 -->
<div v-for="(item) in list" :key="item.name">
<span>{{item.name}}</span>
<span>{{item.age}}</span>
</div>
</template>
<script>
import { getUsers } from '@/api'
import { onMounted, reactive, toRefs } from 'vue'
export default {
setup(){
const data = reactive({
list: []
})
onMounted(()=>{
getUsers().then(res=>{
console.log(res)
data.list = res.data
})
})
const dataAsRefs = toRefs(data)
return dataAsRefs
}
}
</script>
五、优化 mock 代码
1. example 模块化
src/mock/example.js
import Mock from "mockjs";
export default {
getUsers: () => {
return Mock.mock({
status: "200",
msg: "请求成功",
"data|3": [
{
name: "@cname", // Mock.Random.cname(),
age: "@integer(20,50)",
},
],
});
},
};
2. mock 入口文件配置
src/mock/index.js
import Mock from "mockjs";
import example from "./example";
// example 相关
Mock.mock("/api/users", "get", example.getUsers);
export default Mock;
六、实际开发注意事项
1. 配置 baseURL 导致错误:
如果 axios.create({...}) 配置了 baseURL ,上一部分代码为:
src/mock/index.js
import GlobalUrl "@/request/巴啦啦小魔仙"
import Mock from "mockjs";
import example from "./example";
Mock.mock(GlobalUrl+"/api/users", "get", example.getUsers);
export default Mock;
Mock 之搭建本地 MockJs的更多相关文章
- 使用node.js + json-server + mock.js 搭建本地开发mock数据服务
在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要的.对比过多种mock工具后,我最终选择了使用 json se ...
- json server的简单使用(附:使用nodejs快速搭建本地服务器)
作为前端开发人员,经常需要模拟后台数据,我们称之为mock.通常的方式为自己搭建一个服务器,返回我们想要的数据.json server 作为工具,因为它足够简单,写少量数据,即可使用. 安装 首先需要 ...
- CentOS6.5使用createrepo搭建本地源
本地搭建本地yum源采用的rpm全部来自CentOS-6.5-bin-DVD1&DVD2; 我的是在虚拟机环境安装,先检查我的操作系统版本: 1 2 3 4 [adam@ultraera ~] ...
- Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...
- iOS开发网络篇—搭建本地服务器
iOS开发网络篇—搭建本地服务器 一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache- ...
- [转]World Wind Java开发之四——搭建本地WMS服务器
在提供地理信息系统客户端时,NASA还为用户提供了开源的WMS Server 服务器应用:World Wind WMS Server.利用这个应用,我们可以架设自己的WMS服务并使用自己的数据(也支持 ...
- 使用eclipse+tomcat搭建本地环境
项目开发工具很多,这里简单介绍下使用eclipse+tomcat如何搭建本地环境. 安装开发工具如下: 1. jdk的安装参考 下载地址:http://pan.baidu.com/s/1sj9rVYX ...
- 在linux上搭建本地yum源
准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...
- IIS搭建本地服务器,花生壳实现外网通过域名访问网站
配置服务器 作为一个青年,没有实力,做不出标图所示的服务器. 作为一个学生,买不起服务器 作为一个小孩,买不起域名 但别忘了 作为一个平民玩家,只要有耐心 装备迟早会做出来的 (注:感觉有钱与没钱还是 ...
随机推荐
- 利用angular4和nodejs-express构建一个简单的网站(七)—用户注册之ReactiveForm
这一节对用户注册组件进行分析.用户注册组件主要涉及angular4表单的操作.Angular提供了两种构建表单的技术:响应式表单和模板驱动表单. 这两项技术都属于@angular/forms库,并且共 ...
- Java/C++实现备忘录模式--撤销操作
改进课堂上的"用户信息操作撤销"实例,使得系统可以实现多次撤销(可以使用HashMap.ArrayList等集合数据结构实现). 类图: Java代码: import java.u ...
- Android Studio 异常以及解决方案
1. Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVER ...
- java中instanceof是怎么用的, 干什么使的,举例!
instanceof关键字 instanceof是java中固有的关键字, 就像main, public一样,用法:aa instanceof AA 就是问aa是不是AA的一个实例, 是的话,就返回真 ...
- 大数据学习之路之ambari配置(四)
试了很多遍,内存还是不够,电脑不太行的,不建议用ambari!!! 放弃了
- linux-RHEL7.0 —— 《Linux就该这么学》阅读笔记
目录 linux-RHEL7.0 安装部署 修改root密码 RPM(红帽软件包管理器) YUM(软件仓库) Systemd初始化进程 总结 linux命令 帮助命令 man 系统工作命令 echo ...
- CCS基础样式表
一.css样式表 1.样式表分类 1.内联式 <p >This is an apple</p> 2.内嵌样式表 作为一个独立的区域 内嵌在网页里面,必须写在head标签里面 & ...
- Python入门-运算符
运算通常可以根据最终获得的值不同,可以分两类,即结果为具体的值,结果为bool值,那么哪些结果为具体的值-->算数运算.赋值运算,哪些结果又为bool值?--->比较运算.逻辑运算和成员运 ...
- python---用顺序表实现双端队列
class Dqueue(object): """双端队列""" def __init__(self): self.__list = [] ...
- centos下 Docker-修改磁盘存储目录(实操)
预备知识: Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金 ...