vue项目中使用mockjs模拟接口返回数据
一、安装
cnpm install --save-dev mockjs
二、引入
为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置
//dev.env
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
MOCK: 'true',
}) //prod.env
module.exports = {
NODE_ENV: '"production"',
MOCK: 'false',
}
然后再main.js里面引入mockjs
process.env.MOCK && require('@/mock')
//表示配置MOCK为true的时候,才引入mock,所以生产环境的时候就不引入mock了
三、目录和文件创建
mock/index.js
//将所有的mock文件导入
require('./inspection') // 在这里可以做一些通用的配置
const Mock = require("mockjs")
// 设置所有ajax请求的超时时间,模拟网络传输耗时
Mock.setup({
timeout: -
})
四、拦截ajax请求,配置mock的数据
const Mock = require("mockjs")
const Random = Mock.Random;
Mock.mock('/api/load','get',{
'xData|100':['@datetime'],
'series|2':[{
'name':'@NAME',
'type':'line',
'smooth':true,
'data|100':['@integer(1,600)']
}]
})
拦截ajax请求主要可以使用Mock中的两个方法:
Mock.mock( rurl, rtype, template )
Mock.mock( rurl, rtype, function( options ) )
{ 'data|1-10':[{}] } 表示生成生成包含 1到10个空对象的数据
'@EMAIL' 表示随机生成一个email地址
'@CNAME' 表示随机生成一个中文人名
Mock.mock('/api/redo','get',function(options){
let series=[];
for(let n=;n<;n++){
let _obj={};
_obj.name = '05-' + (n <= ? '' + n : n);
_obj.type = 'line';
_obj.data=[];
for(let i=;i<;i++){
let _d = Random.integer(,) * (i% == ? : );
_obj.data.push(_d);
}
series.push(_obj);
}
return series;
})
到此基本应用就可以了,更详细的使用,请看官方文档。
五、Mock 无法拦截 带参数的 GET 请求
解决:后来将路径改成正则就好
//api
//获取健康模型数据
export const getRadarDataApi = (id) => ajax({url:BASEURL + 'radar/' + id}) //mock
Mock.mock(/\/api\/radar/,'get',{
'radar|5':['@integer(0, 100)']
})
vue项目中使用mockjs模拟接口返回数据的更多相关文章
- 如何在vue-cli项目中结合mockjs模拟假数据
1.前言 在如今前后端分离的开发方式已被广泛采用的今天,前端同学和后端同学各自独立开发,后端提供数据接口,前端调用接口获取数据渲染页面.但是在实际开发中,后端开发由于逻辑相对复杂接口迟迟提供不到位,而 ...
- mock模拟接口返回数据
mock,是python中模拟接口返回数据 1.安装 pip install mock import unittest from mock import Mock def add(a,b): pass ...
- 为什么在项目中data需要使用return返回数据呢?
问:为什么在项目中data需要使用return返回数据呢? 答:不使用return包裹的数据会在项目的全局可见,会造成变量污染:使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件.
- vue项目中使用mockjs+axios模拟后台数据返回
自己写练手项目的时候常常会遇到一个问题,没有后台接口,获取数据总是很麻烦,于是在网上找了下,发现一个挺好用的模拟后台接口数据的工具:mockjs.现在把自己在项目中使用的方法贴出来 先看下项目的目 ...
- Vue项目中引入mockjs
前提:创建好的vue项目 前言: 为什么引入mockjs:为了实现前后端分离,开发工作可以异步进行 其他工具:axios 一般的前后端交互过程:前端 --> ajax请求 --> 网络协议 ...
- vue项目中利用popstate处理页面返回操作
需求背景:项目中需要做一个返回确认,避免用户误触返回键而退出当前页面. 原理:利用history和浏览器刷新popstate状态 实现: 1.在mounted() 阶段判断并添加popstate事件监 ...
- 10-Mock模拟接口返回数据
1.安装mock 方法一:pip安装 命令行直接输入:pip install mock 方法二:官网下载mock安装包安装 下载安装包后,解压,命令行进入解压目录,执行python setup.py ...
- vue项目中多个组件之间传递数据
//父组件<template> <div> <div style="float: left"> <input-data :city=&qu ...
- vue项目中阻止浏览器返回上一页
vue项目中在某个页面阻止浏览器返回上一页,适用移动端.PC端. 使用场景例如: 首页 与 A页面 来回跳转,那样点击浏览器返回时也会来回跳转,本想当页面在首页的时候就不再返回了,所以这个时候 ...
随机推荐
- karma配置文件参数介绍
目录结构 参数介绍 /*** * Created by laixiangran on 2015/12/22. * karma单元测试配置文件 */ module.exports = function( ...
- 遍历datatable的几种方法
方法一: DataTable dt = dataSet.Tables[]; ; i < dt.Rows.Count ; i++) { string strName = dt.Rows[i][&q ...
- 20179202《Linux内核原理与分析》第一周作业
实验一 Linux 系统简介 这一节主要学习了Linux的历史,重要人物以及学习Linux的方法.Linux和Windows在是否收费.软件与支持.安全性.可定制性和应用范畴等方面都存在着区别.目前感 ...
- Wannafly挑战赛7 D - codeJan与青蛙
codeJan喜欢观察世界.有一天,codeJan发现一个非常奇怪的现象.有一些年轻的青蛙聚集在一条直线上的某些位置上,同一个位置可能有多个青蛙.这些青蛙每次只会向前跳一米,并且每只青蛙每跳一次都会发 ...
- 微信小程序setData()对数组的操作
对于setData普通数据类型而言,没什么讲究 但是对于数组而言,再直接修改一个完整的数组显得有些多余,首先写着不简易,其次效率很是滴. 比如 你都能觉得复杂,官方肯定是有对应的优化的. 官方demo ...
- java反射,代码优化
java的反射机制属实强大,能解决好些问题 在接手别人写的代码的时候,有一个bean类的get方法特别low,我都看不下去 重复代码写五遍,我都觉得太不合理.之后将其中代码抽取出来修改了下. publ ...
- 二进制拆位(贪心)【p2114】[NOI2014]起床困难综合症
Description 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作斗争.通过研究相关文献,他找到了 ...
- ubuntu16.04系统上安装CAJViewer方法步骤教程详解
下载链接: http://pan.baidu.com/s/1jIqHxLs 或: http://download.csdn.net/detail/arhaiyun/5457947 安装wine1.6: ...
- Code forces363D Renting Bikes
Renting Bikes Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Subm ...
- KMP的小结
http://www.cnblogs.com/kuangbin/archive/2012/08/14/2638803.html 如果有哪一天不记得模板了就去看看大神的 . 非常清晰易懂.