vue3 使用mockjs

1. 背景

在如今的项目开发中,基本上使用的都是前后端分离的开发模式,前后端在开发前会约定一份开发文档,规定接口的结构。如果后端接口没有写好或者没有环境可以让你去调用这个接口,如果这时,什么都不做,也会影响开发的一个效率,所以前端可以使用mock来模拟接口请求。本文章在vue-cli3项目中配置mock。

2. 安装mock

npm install mockjs --save

3. 配置mock

在项目的src下创建一个mock文件夹,mock文件夹里面的文件如图所示在这里插入图片描述
_createMock.ts文件查找到当前目录下的所有文件,除了_createMock.ts以及utils.ts,注册里面所有的mock
代码如下:

import {
    mockInterfaceModel } from '@/api/model/mockModel'

// 首先引入Mock
const Mock = require('mockjs')

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

let configArray = []

// 使用webpack的require.context()遍历所有Mock文件
const files = require.context('.', true, /\.ts$/)
files.keys().forEach((key) => {
   
  if (key === './_createMock.ts' || key === './utils.ts') return
  configArray = configArray.concat(files(key)</
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中,Mock.js是一个强大的JavaScript模拟数据库,常用于单元测试或者开发环境中的数据模拟。它可以帮助你在运行时动态生成虚拟的数据,避免直接从服务器获取真实数据,从而加快开发和测试的速度。以下是如何在Vue3项目中使用Mock.js的基本步骤: 1. **安装Mock.js**: 在项目中安装Mock.js,你可以使用npm或yarn: ```bash npm install mockjs --save-dev # 或者 yarn add mockjs --dev ``` 2. **创建数据模拟**: 在你的`src`目录下创建一个mock文件(如`mock/api.js`),定义你所需的API接口及返回数据: ```javascript import Mock from 'mockjs'; export const mockData = { list: Mock.mock({ 'status': 200, 'data': [ { 'id': '@integer(1, 100)', 'name': '@name' }, { 'id': '@integer(1, 100)', 'name': '@name' }, ... // 随机生成数据 ] }), detail: Mock.mock({ 'status': 200, 'data': { id: '@integer(1, 100)', name: '@name', description: '@paragraph' } }) }; ``` 3. **在组件中使用**: 在需要模拟数据的地方,导入并调用mock数据。例如,在一个列表组件的`data`方法中: ```javascript import { mockData } from '@/mock/api'; export default { data() { return { items: mockData.list.data }; }, // ... }; ``` 4. **在测试环境中使用**: 在单元测试中,你也可以使用Mock.js来替换真实的API调用。例如,如果你使用的是Vue Test Utils,可以在`setup`方法中设置: ```javascript import { shallowMount } from '@vue/test-utils'; import MyComponent from '@/components/MyComponent'; test('mocked API call', async () => { // 在测试中使用Mock.js global.fetch = jest.fn(() => Promise.resolve({ json: () => Promise.resolve(mockData.detail), }) ); const wrapper = shallowMount(MyComponent); // ... });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值