uin-app+mockjs实现本地数据模拟


Posted in Javascript onAugust 26, 2020

最近在开发项目的时候,需要用到mockjs这个包来实现前端本地数据的模拟,下面我就来说一下具体步骤:

前言

uni-app将自己的配置融合到了vue.config.js中,所以需要自己配置,需要在package.json的同级目录下新建一个vue.config.js;ajax请求的路由,因为这个路由我们希望拿到模拟数据,所以用webpack的devserve来拦截。拦截之后通过mockjs,由它来生成模拟数据,然后返回模拟值。

步骤

在vue.config.js中加入下面代码:

const Mock = require('./mock/index.js');
module.exports = {
 chainWebpack: (config) => {  
  config.resolve.alias
  .set( '@',resolve(__dirname, '/'))//设置@为src目录的别名)
 },
 css: {
  ....
  }

 },
 devServer: {
  contentBase: path.join(__dirname, 'mock'),
  compress: true,
  port: 8080,
  overlay: {
   warnings: false,
   errors: true
  },
  before(app){
   Mock(app)
  }
}
};

devserver的配置中的before配置项是拦截路由请求。我们把全部交给Mock(app)处理;然后打开mock/index.js写入如下代码:

const addressesMock = require('./addresses');
const attendanceMock = require('./attendance');
const attendanceListMock = require('./attendance-list');
....
function Mock(app) {
 addressesMock(app)
 attendanceMock(app)
 attendanceListMock(app)
 .....
}

module.exports = Mock;

打开addresses写入你需要mock的数据就ok啦

var Mockjs = require('mockjs')
const { Random }= Mockjs;
const phonePrefix = ['132', '135', '189']
const index = Math.floor(Math.random() * phonePrefix.length)
var phone = phonePrefix[index] + Mockjs.mock(/\d{8}/)
const addressesMock = function (app) {
  app.get('/api3/addresses', function(req, res) {
   var data = Mockjs.mock({
    // 属性 list 的值是一个数组,其中元素的数量从 1 到 10 个都有可能,随机
    'list|1-10': [{
     'id|+1': 0,
     "accept_name": Random.cname(),
     "mobile": phone,
     "province_name": Random.province(),
     "area": Mockjs.mock(/\d{6}/),
     "city": Mockjs.mock(/\d{6}/),
     "sex": parseInt(Random.boolean()),
     "district": {
      "districts": Random.province()+Random.city()+Random.county(),
      "area": Random.county(),
      "city": Random.city(),
      "province": Random.province()
     },
     "street": "有一间公寓八栋",
     "inner": false,
     "lat": "",
     "door_number": "AB1234",
     "is_default": parseInt(Random.boolean()),
     "province": Mockjs.mock(/\d{6}/),
     "area_name":Random.county(),
     "city_name": Random.city(),
     "poiname": ""
    }]
   })
   res.json(data);
  })
 }
 
module.exports = addressesMock;

在需要接口的地方之间用 就能得到相应数据了

this.$ajax.get('/api3/addresses').then(res => { // 调用接口
      })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jQuery的js分页代码
Jun 10 Javascript
JQuery选择器特辑 详细小结
May 14 Javascript
javascript正则匹配汉字、数字、字母、下划线
Apr 10 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
May 03 Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 Javascript
学习javascript面向对象 理解javascript原型和原型链
Jan 04 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
Jan 06 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
Sep 12 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
Mar 06 Javascript
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 Javascript
JS绘图Flot应用图形绘制异常解决方案
Oct 16 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
Aug 25 #Javascript
微信小程序换肤功能实现代码(思路详解)
Aug 25 #Javascript
prettier自动格式化去换行的实现代码
Aug 25 #Javascript
Vue中 axios delete请求参数操作
Aug 25 #Javascript
React实现轮播效果
Aug 25 #Javascript
React实现全选功能
Aug 25 #Javascript
react实现复选框全选和反选组件效果
Aug 25 #Javascript
You might like
PHP中对数据库操作的封装
2006/10/09 PHP
js下函数般调用正则的方法附代码
2008/06/22 PHP
php之readdir函数用法实例
2014/11/13 PHP
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
js图片处理示例代码
2014/05/12 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
javaScript语法总结
2016/11/25 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
python里大整数相乘相关技巧指南
2014/09/12 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
C语言50道问题
2014/10/23 面试题
Android笔试题总结
2014/11/29 面试题
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
大学生的自我鉴定范文
2014/01/21 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
理想演讲稿范文
2014/05/21 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
2015年市场部工作总结
2015/04/30 职场文书
资金申请报告范文
2015/05/14 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
安全教育日主题班会
2015/08/13 职场文书
2016大学军训心得体会
2016/01/11 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
5个实用的JavaScript新特性
2022/06/16 Javascript
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers