vue3 学习笔记05 -- mock的使用

vue3 学习笔记05 -- mock的使用

mock主要用途仅为模拟后端数据接口

  • 安装依赖

    npm i mockjs vite-plugin-mock@2.9.8 -D

  • 根目录下创建mock文件夹

    • /mock/login/index.mock.ts -- 模拟登录接口

      ts 复制代码
        export default [
              // 用户登录接口
              {
                  url: '/mock/user/login',//请求地址
                  method: 'post',//请求方式
                  response: ({ body }:any) => {
                      return {
                          "code": 200,
                          "message": "成功",
                          "data": {
                              
                              "token": "1234567890xxx",
                              "expireAt": 1720505458920,
                              "refreshToken": "12345678765xxx",
                              "userInfo": {
                                  "id": 20,
                                  "name": '小明',
                                  "phone": 15984958697
                              }
                          }
                      }
                  },
              }
          ]
    • src/index.ts

      ts 复制代码
          import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'
          import login from './login/index.mock';
          const modules = {
              login
              // 其他模块...
          };
          const mockModules: any[] = []
          Object.keys(modules).forEach(async (key) => {
          if (key.includes('_')) {
              return
          }
          mockModules.push(...(modules[key] as any))
          })
      
          export function setupProdMockServer() {
          createProdMockServer(mockModules)
          }
  • vite.config.ts配置

ts 复制代码
import { defineConfig, loadEnv, UserConfig, ConfigEnv } from 'vite'
// mock插件提供的方法
import { viteMockServe } from 'vite-plugin-mock'
export default defineConfig({
  plugins: [
    vue(),
    viteMockServe({
        mockPath: './mock/',
        localEnabled: true,
        injectCode: `
          import { setupProdMockServer } from '../mock/index'

          setupProdMockServer()
          `
      }),
  ],

  server:{
    host: '0.0.0.0', // 允许IP访问
    proxy: {
         '/api': {
          target: 'http://127.0.0.1:8000',
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api/, '')
        }
      }
  }
})
相关推荐
扶风ff3 小时前
新品知识更新太快?用练题簿在线刷题,安排企业培训的小测与复盘
前端·学习·小程序
FakeOccupational5 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记
传奇开心果编程6 小时前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift
欣欣之王来了6 小时前
Python入门:什么是Python以及为什么选择它
学习·架构·面向对象·项目·python教程
dadaobusi7 小时前
pcie原子操作和nvme原子操作
学习
sunshine22 girl7 小时前
Java学习五 面向对象高级5 内部类1
java·学习
Horn Still Sounds8 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
每天题库9 小时前
架子工脚手架工题库:安全操作考点与模拟题练习指南
学习·安全·考试·题库·考证
yangmu320310 小时前
Codex 提示词优化教程:用四要素把模糊需求变成可执行任务
人工智能·学习
无敌贵点大王11 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread