vue项目中如何引入mock并安装

本文详细介绍了如何使用mock.js创建和配置虚拟接口,通过实例演示如何生成随机新闻数据,并在Vue应用中调用,以便在本地开发环境中模拟真实API响应。重点讲解了mock.js的常用随机数据生成方法和Mock.mock函数的使用。
摘要由CSDN通过智能技术生成

参考文章:
1.https://blog.csdn.net/qq_36245035/article/details/10146907
2.https://blog.csdn.net/weixin_44524835/article/details/109244955?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-4.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-4.no_search_link
3.https://www.cnblogs.com/wangjiachen666/p/9547812.html
一般按照mock.js不重复写了
参照官网http://mockjs.com/
上代码
和main.js评级新建一个mock.js文件
在这里插入图片描述

在这里插入代码片
const Mock = require('mockjs');
// 获取 mock.Random 对象
const Random = Mock.Random;
// mock一组数据
const produceNewsData = function() {
	let articles = [];
	for (let i = 0; i < 100; i++) {
		let newArticleObject = {
			title: Random.csentence(5, 30), //  Random.csentence( min, max )
			thumbnail_pic_s: Random.dataImage('300x250', 'mock的图片'), // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码
			author_name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名
			date: Random.date() + ' ' + Random.time() // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
		}
		articles.push(newArticleObject)
	}

	return {
		articles: articles
	}
}

// Mock.mock( url, post/get , 返回的数据);
Mock.mock('/news/index', 'get', produceNewsData);

在api文件夹下新建一个api.js

import Axios from 'axios'

export async function getItemList () {
    let result = await Axios.get(`/news/index`).then(d => d.data);
    return result
}

在mian.js中引入mock.js文件

在这里插入代码片
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import Antd from 'ant-design-vue'
import store from './store/index'
import 'ant-design-vue/dist/antd.css'
import VueQuillEditor from 'vue-quill-editor'
import './assets/css/core.css'
import './assets/css/snow.css'
import './assets/css/bubb.css'
import './assets/fonts/iconfont.css'
// import mockdata from './mock'
require('./mock') // 这里就是引入了mock.js文件
Vue.use(VueQuillEditor)

Vue.use(Antd)
Vue.config.productionTip = false

/* eslint-disable no-new */
var vm = new Vue({
  el: '#app',
  store,
  router,
  components: { App },
  template: '<App/>'
})

在组件内引入虚拟接口

import * as mockApi from "@/api/api.js";

写入调用虚拟接口方法的按钮

  <button @click="fasong">fasong</button>

最后在方法内调用这个虚拟接口

fasong() {
      // this.$http.get('/msg1').then(function (res) {
      //   console.log(res)
      // })
      // this.getMock();
      mockApi
        .getItemList()
        .then((res) => {
          console.log(res);
        })
        .catch((err) => {});
    },

结果
在这里插入图片描述
Mock.random常见用法
https://blog.csdn.net/weCat_s/article/details/104415610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值