600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > vue vuecli webpack中使用mockjs模拟后端数据

vue vuecli webpack中使用mockjs模拟后端数据

时间:2021-03-11 07:26:58

相关推荐

vue vuecli webpack中使用mockjs模拟后端数据

web前端|js教程

javascript,webpack,vuecli

web前端-js教程

使用mockjs可以事先模拟数据,前提是和后端约定好了数据接口,怎样的数据。使用mock就可以生成你要的数据了,从而实现开发时前后端分离。本文主要介绍了vue+vuecli+webpack中使用mockjs模拟后端数据的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

h5 酒店入住人数源码,ubuntu提取iso,tomcat自动启动怎么关,爬虫豆瓣书单,php 键名,seo优化全域营销获客推广公司lzw

其主要功能是:

电商网站源码哪个好,Ubuntu 安装时重启,python爬虫必备包,php tinyme,seo50003lzw

基于数据模板生成模拟数据。

龙之谷最新版本源码,如何利用vscode写程序,华为ubuntu推荐,tomcat首次访问慢,爬虫实现c,初级php面试题,百度seo 推广软件,自定义 网站 导航 sql 源码,thinkphp 404页面模板lzw

基于HTML模板生成模拟数据。

拦截并模拟 ajax 请求。

语法规范

Mock.js 的语法规范包括两部分:

1.数据模板定义规范(Data Template Definition,DTD)

2.数据占位符定义规范(Data Placeholder Definition,DPD)

数据模板定义规范 DTD

数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:

// 属性名 name// 生成规则 rule// 属性值 value ame|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

生成规则 的 含义 需要依赖 属性值的类型 才能确定。

属性值 中可以含有 @占位符。

属性值 还指定了最终值的初始值和类型。

例1:

Mock.mock({ umber1|1-100.1-10: 1, umber2|123.1-10: 1, umber3|123.3: 1, umber4|123.10: 1.123})// =>{ "number1": 12.92, "number2": 123.51, "number3": 123.777, "number4": 123.1231091814}

例2:根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串:

Mock.mock({ egexp1: /[a-z][A-Z][0-9]/, egexp2: /\w\W\s\S\d\D/, egexp3: /\d{5,10}/})// =>{ "regexp1": "pJ7", "regexp2": "F)\fp1G", "regexp3": "561659409"}

例3:

//string表示属性名//3表示后面属性值重复次数 Mock.mock({ "string|3": "★"})

结果:

//星星数量为3

{

“string”: “★★★”

}

例4:

// num为属性名// 生成一个大于等于1,小于等于100 的整数,属性值100只是用来确定类型Mock.mock({ "num|1-100": 100})

结果:

{

“number”: 8

}

数据占位符定义规范 DPD

占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。

占位符 的格式为:

@占位符

@占位符(参数 [, 参数])

注意:

用 @ 来标识其后的字符串是 占位符。

占位符 引用的是 Mock.Random 中的方法。

通过 Mock.Random.extend() 来扩展自定义占位符。

占位符 也可以引用 数据模板 中的属性。

占位符 会优先引用 数据模板 中的属性。

占位符 支持 相对路径 和 绝对路径。

Mock.mock({ name: { first: @FIRST, middle: @FIRST, last: @LAST, full: @first @middle @last }})// =>{ "name": { "first": "Charles", "middle": "Brenda", "last": "Lopez", "full": "Charles Brenda Lopez" }}

通过jQuery ajax请求假数据例子

1.首先,引入mockjs,引入jquery(此处用jq封装好的ajax发送请求)

2.使用mock生成数据模板

//这里的第一个参数 就是下面ajax请求的url,mock对该url进行拦截//这里的第二个参数就是template数据模板,mock会返回模板生成的数据 Mock.mock(\, { ame: @name, age|1-100: 100, city: @city });

3.ajax发送请求与结果

$.ajax({ url: \, dataType: json}).done(function(data, status, xhr) { console.log( JSON.stringify(data)); //{"name":"Mark Lee","age":4,"city":"辽阳市"}});

vuecli中使用mockjs

首先安装

npm install mockjs

我的项目src下的结构如下:

我在scripts中新建了一个mockdata.js

里面的内容如下:

import Mock from mockjs;const data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 foods|10-50: [{ ame: "@ctitle(2,10)", "img": "@image(600x600,#b7ef7c)", "brief": "@csentence(1,50)", "price|0-20.0-2": 1, "num": 0, "minusFlag": true, "time": "@time", "peisongfei|0-100.0-2": 1, "limit|0-50": 1 }], "sales|10-50": [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 ame: "@ctitle(2,10)", "img": "@image(600x600,#b7ef7c)", "brief": "@csentence(1,50)", "price|0-100.0-2": 1, "num": 0, "minusFlag": true, "time": "@time", "peisongfei|0-100.0-2": 1, "limit|0-100": 1 }]});export default { data}

接下来,在需要用到的mock数据的vue组件页面中,这样写

import mockdata from "@/scripts/mockdata.js";

引用数据,在你methods里面 直接引用刚刚的mockdata即可。例如:

new Promise((resolve, reject) => { that.foods =mockdata.data.foods; //直接点出你生成的假数据对象即可 that.foodsListLen = that.foods.length; }).catch(err=>{ console.log(err) })

Node.js服务器环境下使用Mock.js拦截AJAX请求的教学

使用 mock.js 让前端开发与后端独立

PHP实现的简单mock json脚本分享,phpmockjson脚本_PHP教学

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。