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搭建本地服务器,花生壳实现外网通过域名访问网站
配置服务器 作为一个青年,没有实力,做不出标图所示的服务器. 作为一个学生,买不起服务器 作为一个小孩,买不起域名 但别忘了 作为一个平民玩家,只要有耐心 装备迟早会做出来的 (注:感觉有钱与没钱还是 ...
随机推荐
- 二十、生成BOM表
- PCB基础知识(一)
在电子行业有一个关键的部件叫做PCB(printed circuit board,印刷电路板).这是一个太基础的部件,导致很多人都很难解释到底什么是PCB.这篇文章将会详细解释PCB的构成,以及在PC ...
- 技术架构:IT生存之道
Technical architecture: What IT does for a living (cio.com) Technical architecture: What IT does for ...
- IMWeb前端提升营七天学习总结
写在前面 5月24到30这7天,IMWeb前端提升营,腾讯大佬们分享个人经验,使出各种前端方面的大招.从中学习了很多前端方面的知识,也get到了前端学习的方法论,还有一些算法知识等等. 现将总结如下: ...
- 来扯点ionic3[7] LocalStorage的使用—以登录和注销为例
一般意义上,一个互联网 APP 中的数据主自与服务器的交互,但是对于有些数据,我们希望获取到它们以后能保存,并在全局环境使用,比如用户数据--我们不希望在每个页面都从服务器拉取一遍.这时我们就可以利用 ...
- Spring MVC框架搭建及其详解
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...
- Exchange统计邮箱数量
以Exchange管理员身份登录,打开PowerShell控制台. 1.查询Exchange组织邮箱数量 键入以下命令. Get-Mailbox | Measure-Objcet 2.查询某数据库邮箱 ...
- 基于PromiseA+规范实现一个promise
实现如果下规范的promise Aplus规范 1,promise是一个类:有三个状态 pending/等待态 fulfilled/成功态 rejected/失败态 2,promise默认执行器立即执 ...
- 基于Yeoman实现自定义脚手架
什么是脚手架? Yeoman是什么? 实现自定义脚手架 基于Yeoman实现Vue-cli 一.什么是脚手架? 手脚架从功能上来讲就是创建项目初始文件,这其中包括生成功能模块配置.自动安装依赖.自动生 ...
- Python入门-异常处理
异常处理 #try----else---- 会一起执行 #finally无论如何,最后都会执行 def main(): try: res = 10/2 print("开始执行计算:" ...