Mockjs是一个模拟数据生成器,用于帮助前端开发,使其独立于后端进程,并减少一些单调性,特别是在编写自动化测试时。
一、项目实战
1. 安装mockjs
npm install mockjs --save-dev
2. 引入mockjs,模拟数据
// 新建一个mock.js文件
import Mock from 'mockjs';
const {
Random } = Mock;
const ApiPrefix = '/api/v1'; // 自定义的访问路径常量
const arr = [1,2,3];
Mock.mock(`${
ApiPrefix}/test2`, 'post', Mock.mock({
'items|1-5': [
{
'id|+1': 1, title: Random.string(),'array|+1': arr}
]
}))
3. 引入mock.js, 定义ajax请求
// service.js
import {
axios } from 'axios';
import 'mock.js';
export function getTestList () {
return axios.post('/api/v1/test2')
}
4. 页面调用ajax方法
// react page
import {
getTestList } from 'services.js'
componentDidMount () {
getTestList().then(res => {
console.log(res.data)
})
}
以下内容从官方文档整理而来mockjs官方文档
二、语法规范
- 数据模板
- 数据占位符
1. 数据模板
‘name|rule’:value
- name: 属性值
- rule: 属性规则
- value: 属性值
rule规则如下:
注意:生成规则需要根据属性值才能确定,属性值可以包含@占位符,可以指定最终值的初始值和类型
-
‘name|min-max’: value
-
‘name|count’: value
-
‘name|mix-max.dmix-dmax’: value
-
‘name|min-max.dcount’: value
-
‘name|count.dmin-dmax’: value
-
‘name|count.dcount’: value
-
‘name|+step’: value
规则详细介绍:
属性值是string
'name|1-3': 'a' // 生成1-