如何在vue-cli项目中结合mockjs模拟假数据
1.前言
在如今前后端分离的开发方式已被广泛采用的今天,前端同学和后端同学各自独立开发,后端提供数据接口,前端调用接口获取数据渲染页面。但是在实际开发中,后端开发由于逻辑相对复杂接口迟迟提供不到位,而前端正着急着调用接口来测试页面是否能够正常渲染,这就造成开发进度阻塞。幸好,我们有mockjs这个插件可以完美的解决这个问题,该插件可以非常方便的模拟后端提供接口以供调用,并且在后续后端真实接口提供以后,我们只需将创建的模拟数据文件删掉即可,丝毫不会对我们的项目造成污染。下面我们将介绍一下如何在vue-cli项目中结合mockjs模拟后端接口和数据。
2.安装
使用之前,我们需要先安装一下mockjs
npm install mockjs --save-dev
3.使用mockjs模拟数据
安装完成之后,我们在项目的src目录下新建mock.js文件,并引入mockjs:
import Mock from 'mockjs'
引入之后,我们就可以开始模拟我们想要的数据啦,示例如下:
import Mock from 'mockjs'
const Random = Mock.Random;
function getData(){
let datalist= [];
for (let i = 0; i < 100; i++) {
let newData = {
title: Random.csentence(5, 30), // Random.csentence( min, max )
thumbnail_pic_s: Random.dataImage('300x250', 'mock的图片'), // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码
author_name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名
date: Random.date() + ' ' + Random.time() // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
}
datalist.push(newData)
}
return {
data: datalist
}
}
const data = Mock.mock('/msg1',getData)
export default {data};
上面代码中的getData()函数是用来批量生成数据的,Mock.mock()函数的第一个参数是被请求的url,第二个参数是后端要返回给前端的数据,写好之后我们将该接口导出。
4.导入模拟好的数据接口
模拟好假数据接口之后,我们还要在main.js中将接口导入,这样在项目中任意组件内都可以请求这些接口了:
import mockdata from './mock'
5.测试模拟好的接口
到此,我们就已经完成数据接口的模拟,我们可以来测试一下,看看接口效果。我们在任意组件内,对写好的接口url发起请求,看看返回的数据,代码如下:
<button @click="fasong">fasong</button>
methods:{
fasong(){
this.$http.get('/msg1').then(function (res) {
console.log(res)
})
}
}
控制台打印的请求返回数据如图:

OK,完美!
6.总结
当后端写好真实接口以后,我们只需删掉创建的mock.js文件和在main.js中导入假数据的那行代码即可,其余都不用动,简直不能更方便哈!
(完)
如何在vue-cli项目中结合mockjs模拟假数据的更多相关文章
- vue+vuecli+webpack中使用mockjs模拟后端数据
前言 使用mockjs可以事先模拟数据,前提是和后端约定好了数据接口,怎样的数据.使用mock就可以生成你要的数据了,从而实现开发时前后端分离. 其主要功能是: 基于数据模板生成模拟数据. 基于HTM ...
- vue项目中使用mockjs模拟接口返回数据
Mock.js 是一个模拟数据生成器,利用它,可以拦截ajax请求,直接模拟返回数据,这样前后端只要约定好数据格式,前端就不需要依赖后端的接口,可以直接使用模拟的数据了. 网上介绍mock的教程也较多 ...
- Vuex内容解析和vue cli项目中使用状态管理模式Vuex
中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: }, gett ...
- vue.cli项目中src目录每个文件夹和文件的用法
assets文件夹是放静态资源:components是放组件:router是定义路由相关的配置:view视图:app.vue是一个应用主组件:main.js是入口文件:
- 如何在vue && webpack 项目中的单文件组件中引入css
引入方式很简单,就是在script下使用require()即可. 因为import 是import...from 的形式,所以是不需要的. <script> import {mapStat ...
- vue cli 项目中设置背景图
https://blog.csdn.net/MoLvSHan/article/details/78204972 不能直接写成相对路径,像下面这这种就会报错 backgroundImage: " ...
- 改造@vue/cli项目为服务端渲染-ServerSideRender
VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...
- Vue+Typescript项目中使用echarts
方案一:推荐 在typescript+Vue的项目中引用echarts,为了加强引用,引入echarts和@types/echarts两个包,一个是工程依赖,一个是声明依赖. npm install ...
- .Net Core ORM选择之路,哪个才适合你 通用查询类封装之Mongodb篇 Snowflake(雪花算法)的JavaScript实现 【开发记录】如何在B/S项目中使用中国天气的实时天气功能 【开发记录】微信小游戏开发入门——俄罗斯方块
.Net Core ORM选择之路,哪个才适合你 因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别 ...
随机推荐
- 报错com.neenbedankt.android-apt not found如何解决
apply plugin: 'com.neenbedankt.android-apt' 在moudle中build.gradle文件内有应用此插件,编译时报错 检查Project中build.grad ...
- vodevs3031 最富有的人
在你的面前有n堆金子,你只能取走其中的两堆,且总价值为这两堆金子的xor值,你想成为最富有的人,你就要有所选择. 输入描述 Input Description 第一行包含两个正整数n,表示有n堆金子. ...
- python接口自动化2-第一次发送get请求
前言 Requests: 让 HTTP 服务人类,唯一的一个非转基因的 Python HTTP 库,人类可以安全享用: Requests继承了urllib2的所有特性,能满足当前网络的需求,支持Pyt ...
- 为什么要实现 IDisposable 接口?
一.背景 最近在精读 <CLR Via C#>和 <Effective C#> 的时候,发现的一个问题点.一般来说,我们实现 IDisposable 接口,是为了释放托管资源和 ...
- JS相关实训
今天又是无聊的一天,我的脑袋一直在嗡嗡叫,想着一些奇怪的问题,比如我为什么总是感到这么失落,为什么我喜欢的女孩不喜欢我呢,真是头大啊.不过既然有作业了我这个五好公民当然要认真写了.没时间让我思考这么复 ...
- MyEclipse10 使用JRebel实现热部署
MyEclipse10 使用JRebel实现热部署 Window --Preferences-Tomcat 6.x-JDK-JVM -noverify -javaagent:D:\JRebel\jre ...
- samba文件共享服务部署
1.安装samaba服务程序 yum install -y samba 2.查看smaba文件,由于注释空行较多,选择过滤 egrep -v "#|;|^$" /etc/samba ...
- PHP 调试脚本
如果想要通过php.exe直接运行和调试脚本,可以在PHPStorm配置如下: 1.PHP安装XDebug的扩展. 2.在PHPStorm中,配置XDebug: 1) 打开菜单 "文件&qu ...
- TensorFlow2.0(8):误差计算——损失函数总结
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- go-数组-切片-字典
声明一个数组变量的同时为该变量赋值. ], , } 另一种便捷方法, 类型字面量中省略代表其长度的数字 , , } 对于数组来说,索引值既不能小于0也不能大于或等于数组值的长度. 索引值的最小有效值从 ...