vite-plugin-mock插件的3.0.2版本在生产环境无法使用

vite-plugin-mock

在开发中使用vite-plugin-mock插件时遇到生产环境中无法使用的问题,查看了github中提交的issues

发现原来不止我一个人遇到这种情况

后面我将3.0.2版本降级到2.9.6后才可以正常使用

安装

npm install mockjs@1.1.0 --save

npm install vite-plugin-mock@2.9.6 --save-dev

使用:

vite.config.ts

ts 复制代码
export default defineConfig(
  ({ command }) => {
    return {
      // ...其它配置,略
      plugins: [
        viteMockServe({
          ignore: /^\_/,//忽略以_开头的文件
          mockPath: 'mock',// mock文件的存放路径
          localEnabled: true,//是否启用本地模拟数据
          prodEnabled: true,//是否启用生产环境模拟数据
          injectCode: `
          import { setupProdMockServer } from '../mock/_createProductionServer'

          setupProdMockServer()
          `
        })
      ]
    }
  }
)

根目录中创建mock文件夹,设置mock接口

mock目录下创建_createProductionServer.ts文件

_createProductionServer.ts

ts 复制代码
import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'

import login from './login'

let mockModules: any[] = [...login]

export function setupProdMockServer() {
  createProdMockServer(mockModules)
}

登录接口示例

mock/login/index.ts

ts 复制代码
export default [
  {
    // 请求地址
    url: '/mock/api/login',
    // 请求方式
    method: 'post',
    // 模拟接口返回数据
    response: ({ body }) => {
      if (body.username !== 'admin' || body.password !== 'admin') {
        return { code: 400, message: '用户名或密码错误' }
      }
      return {
        access_token: 'token',
        token_type: 'Bearer',
      }
    }
  }
]
相关推荐
笃行3504 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易5 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi7 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒9 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
用户27050777252410 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户4993350250710 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李10 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD10 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队10 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端
FlyWIHTSKY11 小时前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js