Mockjs 及其模块语法
1、Mockjs是什么?
Mock.js 是一款模拟数据生成器,旨在帮助前端工程师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:
根据数据模板生成模拟数据
模拟 Ajax 请求,生成并返回模拟数据
基于 HTML 模板生成模拟数据
2、Mockjs用来做什么?
随着互联网项目开发的发展,前后端分离已经成为了互联网项目开发的业界标准使用方式。前后端分离会为以后的大型分布式架构、微服务架构、多端化服务打下坚实的基础。这时就用到了mockjs了,mockjs可以通过模拟数据生成器,通过一定规则 (API文档)生成模拟数据接口, 提供给前端人员进行测试,使前端人员不需要等待后端开发好接口后再进行测试,不依赖后端接口进行开发。
3、安装 Mock.js
建立一个文件夹,进入文件夹,打开命令窗口,使用npm安装mock.js
- npm install mockjs
之后就会发现有个node_modules文件夹和一个package-lock.json文件
-
touch demo.js 建立一个js文件
-
const Mock = require(‘mockjs’) 在文件内引入mockjs
-
var data = Mock.mock({
‘list|1-10’: [{
‘id|+1’: 1
}]
});
// stringify(数据, 数据转换函数,缩进空格数)
console.log(JSON.stringify(data, null, 2)) -
在命令行执行 node demo.js
4、模块语法
4.1、数据模板定义规范
数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:
注意:
属性名 和 生成规则 之间用竖线 | 分隔。
‘name|rule’: value
生成规则 是可选的,生成规则 有 7 种格式:
- ‘name|min-max’: value
- ‘name|count’: value
- ‘name|min-max.dmin-dmax’: value
- ‘name|min-max.dcount’: value
- ‘name|count.dmin-dmax’: value
- ‘name|count.dcount’: value
- ‘name|+step’: value
生成规则 的 含义 需要依赖 属性值的类型 才能确定。
属性值 中可以含有 @占位符 。
属性值 指定了最终值的初始值和类型。
实例:demo.js
// 使用 Mock
const Mock = require('mockjs')
const data = Mock.mock({
// 属性 result 的值是一个数组,其中含有 1 到 5 之间随机个数个元素
'result|1-5': [{
// 属性 id 是一个自增数,起始值为