vue使用mock进行后端数据模拟
我们从头开始,教你一步一步使用mock进行后端数据模拟。
1、首先我们创建vue项目:
通过vue create test_mock命令:
我们这里选择第三个:Manually select features,回车
这里通过键盘上的上下键上下移动,通过空格键选择。我们选择Babel,Router, Vuex这三个。
这里选择3.x 回车。
这里选择Y,回车。
这里选择默认回车。
这里还是n,回车。
最后项目创建完成。
我们通过cd test_mock进入项目,通过npm run serve启动项目。
启动后的项目如下图:
2、我们按ctrl+c键终止项目。
终端安装依赖:npm install mockjs。
再通过命令:cnpm i axios -S安装axios。
其原理如下图所示:
然后,我们在目录src文件下新建文件 --mock--mock.js。
如下图:
mock.js代码如下:
import Mock from mockjs let random = Mock.Random random.extend({ constellation:function(date) { var constellation = [天秤座,双子座,处女座,白羊座,金牛座,巨蟹座,狮子座,天蝎座]; return this.pick(constellation) } }) Mock.mock(http://localhost:8080/user, { name:@name, email:"@email", age|1-10:5, introduce: random.province(), constellation: @CONSTELLATION })
数据规范:Mock.mock(需要拦截的请求, { 属性名|生成规则: 属性值 }) /*生成规则可选*/
数据占位符:
用 @来标识其后的字符串是 占位符。
占位符 引用的是 Mock.Random 中的方法。
Mock.Random 的方法在数据模板中称为『占位符』
3、需要数据模拟的页面AboutView.vue。位置在:src/views/AboutView.vue。
AboutView.vue代码如下:
<template> <div> <h1>我是About</h1> <button @click="getUser()">点击获取用户信息</button> </div> </template> <script> import axios from axios import mock from @/mock/mock.js export default { name:About, methods: { getUser() { axios.get(http://localhost:8080/user) .then(function(res) { console.log(JSON.stringify(res.data)) }) .catch(function(res) { alert(res) }) } } } </script>
启动项目后,mock 会根据请求 url 拦截对应请求并返回模拟数据:
下一篇:
Day52 微服务 负载均衡 ***