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的更多相关文章

  1. 使用node.js + json-server + mock.js 搭建本地开发mock数据服务

    在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要的.对比过多种mock工具后,我最终选择了使用 json se ...

  2. json server的简单使用(附:使用nodejs快速搭建本地服务器)

    作为前端开发人员,经常需要模拟后台数据,我们称之为mock.通常的方式为自己搭建一个服务器,返回我们想要的数据.json server 作为工具,因为它足够简单,写少量数据,即可使用. 安装 首先需要 ...

  3. CentOS6.5使用createrepo搭建本地源

    本地搭建本地yum源采用的rpm全部来自CentOS-6.5-bin-DVD1&DVD2; 我的是在虚拟机环境安装,先检查我的操作系统版本: 1 2 3 4 [adam@ultraera ~] ...

  4. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

    默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...

  5. iOS开发网络篇—搭建本地服务器

    iOS开发网络篇—搭建本地服务器 一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache- ...

  6. [转]World Wind Java开发之四——搭建本地WMS服务器

    在提供地理信息系统客户端时,NASA还为用户提供了开源的WMS Server 服务器应用:World Wind WMS Server.利用这个应用,我们可以架设自己的WMS服务并使用自己的数据(也支持 ...

  7. 使用eclipse+tomcat搭建本地环境

    项目开发工具很多,这里简单介绍下使用eclipse+tomcat如何搭建本地环境. 安装开发工具如下: 1. jdk的安装参考 下载地址:http://pan.baidu.com/s/1sj9rVYX ...

  8. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  9. IIS搭建本地服务器,花生壳实现外网通过域名访问网站

    配置服务器 作为一个青年,没有实力,做不出标图所示的服务器. 作为一个学生,买不起服务器 作为一个小孩,买不起域名 但别忘了 作为一个平民玩家,只要有耐心 装备迟早会做出来的 (注:感觉有钱与没钱还是 ...

随机推荐

  1. 二十、生成BOM表

  2. PCB基础知识(一)

    在电子行业有一个关键的部件叫做PCB(printed circuit board,印刷电路板).这是一个太基础的部件,导致很多人都很难解释到底什么是PCB.这篇文章将会详细解释PCB的构成,以及在PC ...

  3. 技术架构:IT生存之道

    Technical architecture: What IT does for a living (cio.com) Technical architecture: What IT does for ...

  4. IMWeb前端提升营七天学习总结

    写在前面 5月24到30这7天,IMWeb前端提升营,腾讯大佬们分享个人经验,使出各种前端方面的大招.从中学习了很多前端方面的知识,也get到了前端学习的方法论,还有一些算法知识等等. 现将总结如下: ...

  5. 来扯点ionic3[7] LocalStorage的使用—以登录和注销为例

    一般意义上,一个互联网 APP 中的数据主自与服务器的交互,但是对于有些数据,我们希望获取到它们以后能保存,并在全局环境使用,比如用户数据--我们不希望在每个页面都从服务器拉取一遍.这时我们就可以利用 ...

  6. Spring MVC框架搭建及其详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  7. Exchange统计邮箱数量

    以Exchange管理员身份登录,打开PowerShell控制台. 1.查询Exchange组织邮箱数量 键入以下命令. Get-Mailbox | Measure-Objcet 2.查询某数据库邮箱 ...

  8. 基于PromiseA+规范实现一个promise

    实现如果下规范的promise Aplus规范 1,promise是一个类:有三个状态 pending/等待态 fulfilled/成功态 rejected/失败态 2,promise默认执行器立即执 ...

  9. 基于Yeoman实现自定义脚手架

    什么是脚手架? Yeoman是什么? 实现自定义脚手架 基于Yeoman实现Vue-cli 一.什么是脚手架? 手脚架从功能上来讲就是创建项目初始文件,这其中包括生成功能模块配置.自动安装依赖.自动生 ...

  10. Python入门-异常处理

    异常处理 #try----else---- 会一起执行 #finally无论如何,最后都会执行 def main(): try: res = 10/2 print("开始执行计算:" ...