要后端干嘛?mockjs搞起来啊
一、mockjs是什么以及应用场景
1.场景介绍
采用前后端分离的项目开发模式,前端开发人员在写好各种界面之后,需要请求后端的接口,把数据请求出来,再进行进一步的处理,最后渲染到页面相应的地方。但是,如果前端开发在完成了各种界面之后,后端开发还没有把实际的接口写好,那就没有办法请求到真实的数据,那是不是意味着前端开发的工作就停滞了呢?为了避免这种情况的出现,前端开发可以写模拟的接口,通过访问模拟的接口获取假数据,从而实现数据处理以渲染,等后端开发把真实的接口写好之后,用真实的接口替换模拟接口即可。mockjs可以用来实现这一需求。
2.mockjs介绍
mockjs是一款模拟数据生成器,通过随机数据,模拟各种场景,不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据,让前端攻城师独立于后端进行开发。官方文档:Mock.js
二、vue中使用mockjs
1.脚手架vue-cli搭建vue项目
具体操作可以参考 vue脚手架vue-cli
// 全局安装 vue-cli
npm i -g vue-cli
// 创建并初始化项目
vue init webpack mock-test
// 进入项目目录
cd mock-test
2.安装axios以及mockjs
//使用axios来发起http请求
npm install axios --save
//安装依赖mockjs
npm install mockjs --save-dev
3.在main.js文件下引入axios/mock.js
import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
import './mock/mock.js';
Vue.prototype.$axios = axios
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
4.在src目录下新建mock文件夹,mock文件夹下新建mock.js文件
import Mock from 'mockjs'
//写法一
// const template = {
// 'code': "200",
// 'title': 'Syntax Demo',
// 'desc': 'this is description'
// }
// Mock.mock('/user', /post|get/i, template)
//写法二
Mock.mock("/list","get",()=>{
return [
{
name:"苏明哲",
sex:"男"
},
{
name:"苏明成",
sex:"男"
}
]
});
具体的语法要参照官方文档学习
5.调用模拟接口
我这里为了方便,就不新建文件来验证接口调用,我直接在用vue-cli创建的项目中原有的‘’HelloWorld.vue‘’文件中的created( )函数里验证接口调用,你也可以新建文件来验证
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<h2>Essential Links</h2>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
created () {
this.$axios.get('/list').then(res => {
console.log(res.data)
})
},
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
font-weight: normal;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
6.执行命令npm run dev运行项目,浏览器控制台查看console输出结果如下

从上面结果可以看到,接口调用成功,成功返回模拟数据