mockjs+vite-plugin-mock在V3+ts项目中的使用

🔮 欢迎点赞 👍٩( ´︶` )( ´︶` )۶ 收藏 🌟留言 💌 欢迎讨论!💕
🔮 本文由 【第四人称Alice】 原创,首发于 CSDN ✨✨✨
🌍 由于博主还属于前期的前端开发小白,欢迎大家留言提出更好的意见,大家共同进步!💭

声明:博主的项目是vue3+ts

一、安装

npm i mockjs -D
npm i vite-plugin-mock -D
npm i axios

二、基础示例

1、创建mock文件

在src/mock/demo文件夹下新建test.ts文件

// src/mock/getInfo.ts

import { MockMethod } from "vite-plugin-mock";

export default [
  {
    url: "/api/getUserInfo", // url参数必须为string格式
    method: "get",
    response: () => {
      return "This is an example.";
    },
  },
] as MockMethod[];

2、在vite.config.ts中进行配置

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: "./src/mock", // 设置模拟.ts 文件的存储文件夹
      enable: true, // 是否启用 mock 功能
    }),
  ],
});

 注意:基础示例仅在本地开发环境中使用,如需在打包后仍然能够使用请参考官方文档中的

“在生产环境中使用”

https://github.com/vbenjs/vite-plugin-mock/blob/main/README.zh_CN.md

3、在页面中使用

<script lang="ts" setup>
import axios from "axios";
import { onMounted, ref } from "vue";
let data = ref();
onMounted(() => {
  axios.get("/api/getUserInfo").then((res) => {
    console.log(res);
    data.value = res.data;
  });
});
</script>

<template>
  <p>{{ data }}</p>
</template>

<style scoped>
p {
  color: #d69e9e;
}
</style>

4、运行npm run dev

5、运行结果

运行结果

三、拓展示例

// src/mock/getList.ts
import { MockMethod } from "vite-plugin-mock";
export default [
  {
    url: "/api/getList",
    method: "post",
    timeout: 1000,
    // get请求使用query作为参数,post请求使用body作为参数
    response: ({ body }) => {
      // 对传入的参数做校验逻辑
      // console.log(body, "123query");//会在控制台打印出来
      return {
        code: 200,
        message: "ok",
        "data|5": [
          //'data|20',模拟20条数据,前面是参数,后面是值
          {
            // uid: "@id",// 生成一个随机的唯一标识符。
            //     "age|18-50": 18, // 'age|18-50' :18 从18开始随机18-50的年龄
            email: "@email()", // @email() 随机邮箱
            nickname: "@cname", // 生成一个随机的中文昵称。
            age: "@integer(10-100)", // 生成一个随机的年龄在10到100之间的整数。
            "id|+1": 0, // 'id|+1':0,就是从0开始id自增1
            url: "@image", // 生成一个随机的图片链接。
            city: "@city", // 生成一个随机的城市名称。
            country: "@county(true)", // 生成一个随机的国家名称,带有省份信息。
            province: "@province", // 生成一个随机的省份名称。
            mobile_phone: "@phone", // 生成一个随机的手机号码。
            // email: "@email", // 生成一个随机的电子邮箱地址。
            region: "@region", // 生成一个随机的地区信息。
            date: "@date(yyyy-MM-dd)", // @date(yyyy-MM-dd) 随机日期
            description: "@paragraph", // @paragraph 随机签名介绍
            "menus|3": [
              {
                menu_name: "一级别导航",
                "id|+1": 0,
                code: "Nav1",
                "children|5": [
                  {
                    code: "about",
                    menu_url: "views/about",
                    access_permissions: '["about"]',
                    children: [],
                    menu_name: "测试1",
                    "id|+1": 0,
                  },
                ],
              },
            ],
          },
        ],
      };
    },
  },
] as MockMethod[];

四、官网地址

1、mockjs官方文档参考地址:

Mock.jsicon-default.png?t=N7T8http://mockjs.com/

2、GitHub参考地址:

Home · nuysoft/Mock Wiki · GitHubA simulation data generator. Contribute to nuysoft/Mock development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/nuysoft/Mock/wiki

3、mockjs示例地址

Mock.jsicon-default.png?t=N7T8http://mockjs.com/examples.html

4、vite-plugin-mock官网地址

https://github.com/vbenjs/vite-plugin-mock/blob/main/README.zh_CN.mdicon-default.png?t=N7T8https://github.com/vbenjs/vite-plugin-mock/blob/main/README.zh_CN.md

五、项目地址

有疑惑的宝子可直接拉代码查看完整项目内容:Alice/vite-plugin-mock

图片数据模拟已更新:

vue项目搭建基础内容router\pinia\element-plus-CSDN博客

更新中...

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
vite-plugin-mockVite框架的一个插件,可以模拟接口数据,用于前端开发调试。在2.3.0版本,该插件增加了对Mock.js 1.0的支持,并且对配置项进行了一些优化。 使用vite-plugin-mock 2.3.0的步骤如下: 1. 安装vite-plugin-mock ``` npm install vite-plugin-mock --save-dev ``` 2. 在vite.config.js引入vite-plugin-mock,并进行配置 ```javascript import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import mock from 'vite-plugin-mock' export default defineConfig({ plugins: [ vue(), mock({ // mock配置项 }) ], // 其他配置项 }) ``` 3. 配置mock数据 可以在mock配置项定义接口路径和对应的数据,也可以使用mockjs进行更加复杂的数据模拟。 ```javascript mock({ // 接口路径 '/api/user': { // 响应数据 name: 'John Doe', age: 28 }, // 使用mockjs生成数据 '/api/list': { 'list|10': [{ 'id|+1': 1, 'name': '@cname', 'age|18-30': 20 }] } }) ``` 4. 在前端代码使用接口地址 在前端代码使用接口地址时,可以直接使用定义好的路径。 ```javascript // 发送GET请求,获取用户信息 const user = await fetch('/api/user').then(res => res.json()) // 发送POST请求,提交表单数据 const data = { name: 'John', age: 30 } const result = await fetch('/api/form', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }).then(res => res.json()) ``` 以上就是vite-plugin-mock 2.3.0版本的使用方法。需要注意的是,该插件只在开发环境下生效,打包后的代码不会包含mock数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值