vue快速构建/搭建mock、mockjs。npm/cdn都涉及到

2024-02-04 13:58

本文主要是介绍vue快速构建/搭建mock、mockjs。npm/cdn都涉及到,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本人github地址

我的mock日记

  • 本人github地址
  • mock
    • mock的作用
    • mock 安装
      • 基本语法
      • 通过cdn安装
      • npm安装
        • 设置 post、带参数的请求
          • 通过 post 请求
          • 通过 post 带参数请求
      • 可以关注一下

mock

写在最前面

如果是想学mock请移步移步官网mock,本文章只是我自己学习的笔记

工作需要,被动学习。

mock的作用

Mock.js是一个模拟数据生成器,可以帮助前端开发和原型分离后端进度,并减少一些单调,特别是在编写自动化测试时。

mock 安装

基本语法

  • rurl: url (可选)
  • rtype: 请求类型(get/post) (可选)
  • template|function( options ): 模板/方法 (可选)
Mock.mock( rurl?, rtype?, template|function( options ))

通过cdn安装

<script src="http://mockjs.com/dist/mock.js"></script>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script>
// Mock.mock( template )
// 官网文档扣下来的模板var template = {'title': 'Syntax Demo','string1|1-10': '★','string2|3': 'value','number1|+1': 100,'number2|1-100': 100,'number3|1-100.1-10': 1,'number4|123.1-10': 1,'number5|123.3': 1,'number6|123.10': 1.123,'boolean1|1': true,'boolean2|1-2': true,'object1|2-4': {'110000': '北京市','120000': '天津市','130000': '河北省','140000': '山西省'},'object2|2': {'310000': '上海市','320000': '江苏省','330000': '浙江省','340000': '安徽省'},'array1|1': ['AMD', 'CMD', 'KMD', 'UMD'],'array2|1-10': ['Mock.js'],'array3|3': ['Mock.js'],'function': function() {return this.title}
}
var data = Mock.mock(template)$('<pre>').text(JSON.stringify(data, null, 4)).appendTo('body')
</script>

npm安装

const Mock = require('mockjs');
var obj = {'aa':'11', 'bb':'22', 'cc':'33', 'dd':'44'};// Mock响应模板
Mock.Mock(/\.json/, {"user|1-3": [{   // 随机生成1到3个数组元素'name': '@cname',  // 中文名称'id|+1': 88,    // 属性值自动加 1,初始值为88'age|18-28': 0,   // 18至28以内随机整数, 0只是用来确定类型'birthday': '@date("yyyy-MM-dd")',  // 日期'city': '@city(true)',   // 中国城市'color': '@color',  // 16进制颜色'isMale|1': true,  // 布尔值'isFat|1-2': true,  // true的概率是1/3'fromObj|2': obj,  // 从obj对象中随机获取2个属性'fromObj2|1-3': obj,  // 从obj对象中随机获取1至3个属性'brother|1': ['jack', 'jim'], // 随机选取 1 个元素'sister|+1': ['jack', 'jim', 'lily'], // array中顺序选取元素作为结果'friends|2': ['jack', 'jim'] // 重复2次属性值生成一个新数组},{'gf': '@cname'}]
});

通过 get 请求

打印出对应数据

$.ajax({url: /\.json/,type: 'get',dataType: 'json'
})
.then(res =>{ssconsole.log(res);
})
设置 post、带参数的请求

响应时也可以是使用 function, 如:

const Mock = require('mockjs');
Mock.mock(/\.json/, 'post', function(options) {return options.type
})
通过 post 请求
$.ajax({url: 'hello.json',type: 'post',dataType: 'json'
})
.then(res()=>{console.log(res);
})
通过 post 带参数请求
$.ajax({url: 'hello.json',type: 'post',dataType: 'json'data: {account: 888,pwd: 'abc123'}
})
.then(res()=>{console.log(res);
})const Mock = require('mockjs');
Mock.mock(/\.json/, 'post', function(options) {console.log(options);// 打印出 {url: "http://test.com", type: "POST", body: "account=888&pwd=abc123"}return Mock.mock({// .....});
});

可以关注一下

这篇关于vue快速构建/搭建mock、mockjs。npm/cdn都涉及到的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/677735

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Vuex Actions多参数传递的解决方案

《VuexActions多参数传递的解决方案》在Vuex中,actions的设计默认只支持单个参数传递,这有时会限制我们的使用场景,下面我将详细介绍几种处理多参数传递的解决方案,从基础到高级,... 目录一、对象封装法(推荐)二、参数解构法三、柯里化函数法四、Payload 工厂函数五、TypeScript

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化