关于mock插件引入

环境版本

"vue": "3.2.26"
"vite": "2.6.14"

1.安装依赖

npm install mockjs -S
npm install vite-plugin-mock -S

2.配置vite.config.js

复制代码
import { defineConfig, loadEnv } from 'vite'
import path from 'path'
import createVitePlugins from './vite/plugins'
import { viteMockServe } from 'vite-plugin-mock'

// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
  const env = loadEnv(mode, process.cwd());
  const plugins = createVitePlugins(env, command === 'build');
  plugins.push(viteMockServe({
    mockPath: "mock",// 解析根目录下的mock文件夹
    localEnabled: env.VITE_USE_MOCK_ENV === 'true',  // 开发打包开关
    prodEnabled: env.VITE_USE_MOCK_PRO === 'true', // 生产打包开关
    supportTs: true, // 打开后,可以读取 ts 文件模块。 请注意,打开后将无法监视.js 文件。
  }));
  return {
    plugins: plugins,
    resolve: {
      // https://cn.vitejs.dev/config/#resolve-alias
      alias: {
        // 设置路径
        '~': path.resolve(__dirname, './'),
        // 设置别名
        '@': path.resolve(__dirname, './src')
      },
      // https://cn.vitejs.dev/config/#resolve-extensions
      extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
    },
    // vite 相关配置
    server: {
      port: 82,
      host: true,
      open: true,
      proxy: {
        // https://cn.vitejs.dev/config/#server-proxy
        '/dev-api': {
          target: 'http://localhost:8081',
          changeOrigin: true,
          rewrite: (p) => p.replace(/^\/dev-api/, '')
        }
      },
    },
  }
})
复制代码

关键代码

复制代码
import { viteMockServe } from 'vite-plugin-mock'

const env = loadEnv(mode, process.cwd());
const plugins = createVitePlugins(env, command === 'build');
plugins.push(viteMockServe({
  mockPath: "mock",// 解析根目录下的mock文件夹
  localEnabled: env.VITE_USE_MOCK_ENV === 'true',  // 开发打包开关
  prodEnabled: env.VITE_USE_MOCK_PRO === 'true', // 生产打包开关
  supportTs: true, // 打开后,可以读取 ts 文件模块。 请注意,打开后将无法监视.js 文件。
}));
复制代码

3.添加mock文件

  根目录创建mock文件夹以及index.ts文件

复制代码
import { MockMethod } from 'vite-plugin-mock'
const Mock = require('mockjs')
export default [
    {
        url: '/dev-api/captchaImage',
        method: 'get',
        response: ({ query }) => {
            return {
                code: 200,
                data: {
                    nickname: '@cname',
                    age: '@integer(10-100)',
                    uid: '@id',
                    url: '@image',
                    city: '@city',
                    country: '@county(true)',
                    province: '@province',
                    mobile_phone: '@phone',
                    email: '@email',
                    region: '@region',
                    menus: [
                        {
                            menu_name: '一级导航',
                            id: '@id',
                            code: 'Nav1',
                            children: [
                                {
                                    code: 'about',
                                    menu_url: 'views/about',
                                    access_permissions: '["about"]',
                                    children: [],
                                    menu_name: '测试1',
                                    id: '@id'
                                },
                                {
                                    code: 'home',
                                    menu_url: 'views/home',
                                    access_permissions: '["home"]',
                                    children: [],
                                    menu_name: '测试2',
                                    id: '@id'
                                }
                            ]
                        },

                    ]
                },
            }
        },
    },
] as MockMethod[]
复制代码

4.配置.env.development文件

# 开发打包开关
VITE_USE_MOCK_ENV = 'false'

# 生产打包开关
VITE_USE_MOCK_PRO = 'false'

备注:开发环境若是要启用mock数据,请把【VITE_USE_MOCK_ENV】节点的值改为【'true'】

 

posted on   心若随风  阅读(172)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示