美文网首页
vue3使用mock创建后台模拟数据

vue3使用mock创建后台模拟数据

作者: Goorln | 来源:发表于2023-09-21 15:50 被阅读0次

前情提要:前端在开发页面请求接口取数据时,如果后端还未提供接口,我们就可以使用mock生成一些模拟数据来测试前端页面,可以节省很多时间等。

采用mockJs进行模拟数据,模拟各种场景(get、post)生成接口,官网地址:Mock.js (mockjs.com)

一、安装mockjs和依赖vite-plugin-mock

npm i mockjs vite-plugin-mock --save-dev

二、在配置 vite.config.js 文件中配置vite-plugin-mock的使用

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { viteMockServe } from "vite-plugin-mock";

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        viteMockServe({
            mockPath: "mock", // 设置模拟数据的存储文件夹
            localEnabled: true, //设置是否启用本地mock文件
        })
    ]
})

三、在根目录下创建mock/index.js文件,具体内容如下:

import Mock from 'mockjs'
const arr = []
for (let i = 0; i < 10; i++) {
    arr.push({
        id: Mock.mock("@id"),
        name: Mock.mock("@cname"),
        'age|18-60': 1,
        date: Mock.mock("@date('yyyy-MM-dd')"),
        email: Mock.mock("@email"),
        city: Mock.mock("@city(true)")
    })
}

export default [{
    url: '/list',
    methods: 'get',
    response: () => {
        return arr
    }
}]

四、调用接口数据,并渲染到页面

<script setup>
import { ref, onMounted } from 'vue'
import axios from 'axios'
const tableList = ref([])
const getList = async () => {
  const res = await axios.get('/list')
  tableList.value = res.data
}
onMounted(() => getList())

</script>

<template>
  <el-table :data="tableList" style="width: 100%">
    <el-table-column prop="id" label="ID" width="200" />
    <el-table-column prop="name" label="姓名" width="80" />
    <el-table-column prop="age" label="年龄" width="80" />
    <el-table-column prop="date" label="日期" width="180" />
    <el-table-column prop="email" label="邮箱" width="280" />
    <el-table-column prop="city" label="城市" width="180" />
  </el-table>
</template>

<style scoped>
</style>

发现报错if (!require.cache) { ^ReferenceError: require is not defined},并且没有找到这个/list接口

解决方法:在node_modules/vite-plugin-mock/dist/index.mjs这个文件中做如下配置:

import { createRequire } from 'node:module';
const require = createRequire(import.meta.url)

接口请求成功了:


屏幕截图 2023-09-22 153927.png

数据渲染成功

屏幕截图 2023-09-22 154010.png

相关文章

  • 使用mock模拟后台数据

    一、安装vue-resource1、 在package.json添加依赖 2、npm安装vue-resource ...

  • Vue实战第四天

    Mock.js模拟ajax数据请求在实际开发工作中,后台接口没有那么快的开发速度的时候,可以采用mock进行模拟数...

  • mockJs的使用

    模拟数据 mock,为前后端分离,提前准备数据,不必要等待后台提供数据。但是前提是要约定好数据结构。 使用方法: ...

  • 项目准备

    说明 项目资料准备 mock数据(模拟后台数据) Stylus中文文档答:http://www.zhangxinx...

  • vue常用的插件等安装

    Vuex:状态管理 vue-router:路由 axios:请求数据 mock:模拟后台数据 less和sass ...

  • mock模拟后台数据

    在dev-server.js里添加如下配置信息 这样就获取了json数据,传送到了/goods路由下,然后在页面中...

  • mock

    mock使用优势:前后端同时开发的时候,后端接口数据没有出来,前端可以mock假数据,模拟开发 1,安装mock依...

  • 得物App数据模拟平台的探索和实践

    原创|得物技术-凌遥 导读Mock是一个接口编辑模拟工具,可以快速手动或者基于YAPI创建Mock接口模拟数据调试...

  • 利用node.js来mock数据

    1.什么是mock数据? 模拟后端数据 2.mock数据解决的问题 使用mock数据可以在后端开发人员尚未完成接口...

  • 前端mock使用

    mock是一个模拟数据生成器,旨在帮助前端独立于后台开发,在后台未完成接口时,前端可直接模拟数据开发测试。 moc...

网友评论

      本文标题:vue3使用mock创建后台模拟数据

      本文链接:https://www.haomeiwen.com/subject/wyjzvdtx.html