富贵资源网 Design By www.hznty.com
最近在开发项目的时候,需要用到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 => { // 调用接口 })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。