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动画2.元素坐标动画效果(创建一个图片走廊)
Aug 24 Javascript
jQuery中size()方法用法实例
Dec 27 Javascript
jQuery中insertBefore()方法用法实例
Jan 08 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
javascript中数组方法汇总
Jul 07 Javascript
jQuery+Pdo编写login登陆界面
Aug 01 Javascript
Bootstrap table使用方法记录
Aug 23 Javascript
angular4 共享服务在多个组件中数据通信的示例
Mar 30 Javascript
Vue与Node.js通过socket.io通信的示例代码
Jul 25 Javascript
微信开发之微信jssdk录音功能开发示例
Oct 22 Javascript
AutoJs实现刷宝短视频的思路详解
May 22 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
Nov 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 COOKIE设置为浏览器进程
2009/06/21 PHP
php smarty模版引擎中的缓存应用
2009/12/02 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
详解Python装饰器
2019/03/25 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
小学生中国梦演讲稿
2014/04/23 职场文书
大学班级计划书
2014/04/29 职场文书