Vue3项目 --- Mock.js模拟数据测试

1. npm 安装Mock.js

npm install mockjs

2. Main.js中引入Mock

import Mock from 'mockjs'
require('./mock')
createApp(App).use(Mock).mount('#app')

 3. 在src目录下新建一个 mock目录并创建index.js文件,用来配置mock

// 配置 mock 文件
// 首先引入Mock
const Mock = require('mockjs');// 设置拦截ajax请求的相应时间
Mock.setup({timeout: '200-600'
});let configArray = [];// 使用webpack的require.context()遍历所有mock文件
const files = require.context('.', true, /\.js$/);
files.keys().forEach((key) => {if (key === './index.js') return;configArray = configArray.concat(files(key).default);
});// 注册所有的mock服务
configArray.forEach((item) => {for (let [path, target] of Object.entries(item)) {let protocol = path.split('|');Mock.mock(new RegExp('^' + protocol[1]), protocol[0], target);}
});

4. 在mock目录下在创建一个js文件,我取名为article.js,用来配置自己在项目所需要的 模拟数据

let articleList = {code: 200,msg: 'success',data: { //数据total: 100, //模拟数据的页数,分页功能。 100条'rows|8': [{ //模拟每页有多少条数据。 每页8条。id: '@guid', //每页数据都是有id的。 随机生成数据. @是占位符,随机生成后不会重复。title: '@ctitle',  //前缀加 c 的意思为随机生成中文,否则是英文author: "@cname",  'job | 1': ['Web前端','Java工程师','架构工程师','数据库管理员'] // | 意思为在数组里随机抽取一个}]}
};
export default {'get|/article/list': articleList
}

5. 如果需要少量数据数据时,可以换种写法,比如

let articleList = [{id: 1,title: 'df',author: 'df',job: 'Web前端'
},{id: 2,title: 'fd',author: 'fd',job: 'Java工程师'
}]export default {'get|/article/List':  option => {return {code: 200,msg: 'success',data: articleList};}

6. 也可以使用template返回

let articleList = {code: 200,msg: 'success',data: [{id: 1,title: 'zs',author: '23',job: '前端工程师'},{id: 2,name: 'ww',age: '24',job: '后端工程师'}]
};
let demoList2 = [{id: 1,name: 'zs',age: '23',job: '前端工程师'
},{id: 2,name: 'ww',age: '24',job: '后端工程师'
}];
export default {'get|/article/List': articleList,// 也可以这样写// 官方解释为:记录用于生成响应数据的函数。当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。'get|/article/List': (option) => {// 可以在这个地方对demoList2进行一系列操作,例如增删改// option 指向本次请求的 Ajax 选项集,含有 url、type 和 body 三个属性return {code: 200,msg: 'success',data: articleList};}
}

最后当我们在页面发起了ajax请求,路径是'/article/list',并且请求方式是get时,就会返回我们写好的mock数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

该买哪家二手手机呢?程序员爬取京东告诉你!

作者 | AJ Gordon责编 | 李雪敬出品 | CSDN(ID:CSDNnews)当你手头有一件闲置的物品时,最好的办法不是放在家里积灰,而是拿到二手网站上进行拍卖,例如淘宝的闲鱼,京东的拍拍等等。有这方面经验的…

docker启动elasticsearch——ERROR: Elasticsearch did not exit normally - check the logs at xxx

报错信息: ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log解决办法: 在运行命令中添加 -e “discovery.typesingle-node” docker run \ -d \ --name es-temp \ -e "discove…

阿里十年DBA经验产品经理:真的不要再有一起删库跑路事件了

最近网上又出一起删库跑路事件,本不想过多写此类事件文字,但从业13年,十年DBA工作经验,职业素养还是驱使自己写点内容,以期能够帮助广大企业客户。 本文主要以数据库产品从业者角度,介绍帮助企业减少意外或…

docker kibana nable to retrieve version information from Elasticsearch nodes. getaddrinfo

docker nable to retrieve version information from Elasticsearch nodes. getaddrinfo* 分析: kibana 连接不到Elasticsearch 节点 kibana6.8.10 连接 Elasticsearch6.8.10版本使用"ELASTICSEARCH_URLhttp://192.168.92.129:9200" kibana7.14.2 连接…

服务3000万制造企业 阿里云数字工厂诚邀合伙人

阿里云工业互联网平台(数字工厂)通过整合阿里云资源可提供从产品研发、生产制造、销售、物流仓储、能源管理等链路中所需要的全部应用。为大型制造企业提供工业大数据分析以实现更高层次的价值挖掘,赋能中小制造企业用云化工具以较低成本实现…

Vue3 --- 在Main.js引入封装的axiosAPI 方法

1. import 引入 封装的axiosAPI 根据自己的文件名所在位置 import {getRequest} from "./utils/api"; import {postRequest} from "./utils/api"; 2. 全局(每个实例) 添加公共方法 let appcreateApp(App); app.config.globalProperties.$getRequest ge…

大厂面试录取通过率不到3%,我真是太太太难了......

对今年应届毕业生来说,这个毕业季太难了,今年应届生总人数 874 万多,再创历史新高,各大招聘单位不仅缩减了招聘岗位,还取消了线下春招。最近在后台看到不少吐槽,很多同学反映自己面试一面就挂,有…

springbot微服务打包docker镜像

1.新建springboot项目 2.打包项目 3.编写Dockerfile 4.构架镜像 5.发布运行 6.上传至私服 7.拉取私服镜像运行 1.新建springboot项目 通过idea创建一个项目,新建一个HelloController 并新增一个hello方法便与测试 package com.gblfy.hello.controller;import org.…

NUAA-云计算-考试

19级期末 问题 答案: md格式 自己想办法看 # 随堂测验#### 一、请简述GFS 的系统架构和特点。**1. 系统架构**- GFS将整个系统节点分为三类角色:- Client(客户端):Client是GFS提供给应用程序的访问接口,以库文件的…

启迪公交:DRDS助力城市公交系统智能化

公司介绍 启迪公交(北京)科技股份有限公司以下简称“启迪公交”,成立于2018年6月26日,是国内领先的智慧公交系统方案提供商和服务运营商。通过承接公交信息化和智慧化项目建设,应用最先进的互联网商业模式&#xff0c…

长沙营智:PolarDB助力长沙营智提速资讯搜索业务

公司介绍 长沙营智信息技术有限公司旗下易撰网,2017年10月份上线以来,基于数据挖掘技术为自媒体内容创客提供写作灵感、创作工具的写作连接,现已成为中国用户最多的内容创客的工具平台。 易撰是专业的新媒体大数据服务商,基于新…

Vue3 --- axios 简单封装APi

1. get请求 let base ; const getRequest (url,params) >{ return axios({ url: ${base}${url}, method: get, params: params }) } 2. post请求 const postRequest (url,params) >{ return axios({ url: url, method: post, params: params }) }

云起云涌:PaaS 体系架构与运维系统上云实践

作者 | 刘鹏宇 中国农业银行研发中心责编 | 李雪敬出品 | CSDN云计算(ID:CSDNcloud)今年以来,远程办公、远程会议走进了大多数人的日常工作中,各类云产品相继被人们所熟悉,例如石墨云”OFFice”办公软件、…

阿里云李飞飞:传统数据库步履蹒跚,未来的机会在哪里?

在采访中李飞飞表示,随着计算和数据上云的趋势快速发展,传统数据库步履蹒跚,云原生数据库和数据仓库利用云原生技术最大化的发挥池化的计算和存储资源弹性将是未来。同时随着AI技术的不断深入使用,数据库也将会越来越智能化&#…

docker mysql:8.0.27

配置简述 /etc/mysql/my.cnf #用于存储默认配置(有具体默认配置信息),mysq5.7这个配置文件里面引用了2个目录,用于配置默认配置和自定义配置 /etc/mysql/conf.d # 自定义添加修改配置信息配置 /var/lib/mysql #数据存放目录 创建挂…

Vue3 --- 安装和使用echarts

1. npm安装 echarts npm install echarts --save 2. 引入Main.js中 // 引入方式如下,否则报错 import * as echarts from echarts // 将 createApp(App) 封装 let appcreateApp(App); // 注册全局的方法 app.config.globalProperties.$echarts echarts; 3. 使用…

从零开始入门 K8s | K8s 安全之访问控制

作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲,点击直达课程页面。 关注“阿里巴巴云原生”公众号,回复关键词“入门”,即可下载从零入门 K8s 系列文章 PPT。 导读:访问控制是云原…

把人脑智能化后,能再创造出更强的人工智能吗?

近日,埃隆马斯克投资1 亿多美元的脑机接口初创公司Neuralink在现场发布会展示了新一代的脑机接口设备。脑机接口是什么?可能这个名词在我们日常生活中是不常见的。脑机接口是最前沿的研究领域,建立人(或动物)与外部的设…

docker redis:6.2.6

文章目录1. 运行容器2. 自定义配置3. 加载自定义配置4. 加载自定义配置5. 自定义持久化1. 运行容器 docker run \ -d \ --name redis-kz \ -v /app/redis/data:/data \ -p 6379:6379 \ redis:6.2.6如果不需要其他自定义配置,上面这一行命令就可以了 2. 自定义配置…

阿里巴巴副总裁肖力:云原生安全下看企业新边界——身份管理

作者 | kirazhou 导读:在 10000 多公里之外的旧金山,网络安全盛会 RSAC2020 已经落下了帷幕。而身处杭州的肖力,正在谈起今年大会的主题——Human Element。2020 年,从“人”出发,这颗石子将在国内的安全市场池子里激起…