首先下载mockjs

npm install mockjs

npm install axios

之后在src文件夹下创建一个新的文件夹,名为mock

在mock文件夹下创建一个index.js

里面的内容为

const Mock = require('mockjs');

//设置ajax请求的相应的时间
Mock.setup({
timeout:'200-600'
});

let configArray = [];

const files = require.context('.', true ,/\.js$/);
//使用webpack读取所有的mock文件
files.keys().forEach((key)=> {
if( key==='./index.js') return;
configArray = configArray.concat(files(key).default);
})

//注册所有的mock服务
configArray.forEach((item)=>{
for (let [path, target] of Object.entries(item)) {
let protocol = path.split('|')
Mock.mock(new RegExp('^'+protocol[1]), protocol[0], target);
}
})

 

之后在main.js进行引用

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import axios from "axios";

require('./mock');

Vue.config.productionTip = false
Vue.prototype.$axios = axios

new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')

 

之后在mock文件夹下创建demoList.js文件,

里面的内容为;


// 获取 mock.Random 对象
const Mock = require('mockjs')
const Random = Mock.Random;

let demoList = [{
id: 1,
name: 'zs',
age: '23',
job: Random.cname()
},{
id: 2,
name: 'ww',
age: '24',
job: '后端工程师'
}]

export default {
'get|/parameter/query': (option) => {
return {
status: 200,
message: 'success',
data: demoList
};
}
}

 

之后就可以在template组件中进行使用,运用axios库,就可以拿到自己定义的数据

created() {
this.$axios.get("/parameter/query").then((res)=>{
console.log(res)
})
}

问题统计

1、如果你使用了eslint代码校验的话,会出项报错的情况

报错信息:error 'option' is defined but never used no-unused-vars

解决方法:在package.json中添加如下信息,即可解决。

"rules": {
"generator-star-spacing": "off",
"no-tabs":"off",
"no-unused-vars":"off",
"no-console":"off",
"no-irregular-whitespace":"off",
"no-debugger": "off"
}

 posted on 2021-07-13 17:43  wen22  阅读(280)  评论(0编辑  收藏  举报