新闻详情

新闻详情

首页 / 资讯中心 / 详情

vite-plugin-mock完全指南:基于Mock.js的Vite数据模拟神器

发布时间:2026/9/11 10:35:11来源:尧图网络
vite-plugin-mock完全指南:基于Mock.js的Vite数据模拟神器
vite-plugin-mock完全指南基于Mock.js的Vite数据模拟神器【免费下载链接】vite-plugin-mockA mock plugin for vite.use mockjs.项目地址: https://gitcode.com/gh_mirrors/vi/vite-plugin-mockvite-plugin-mock是一款基于Mock.js开发的Vite数据模拟插件同时支持本地开发环境和生产环境。在本地开发时使用Connect服务中间件在生产环境中则使用Mock.js为前端开发者提供了便捷高效的数据模拟解决方案。为什么选择vite-plugin-mock在前端开发过程中经常会遇到后端接口尚未开发完成的情况。这时数据模拟就显得尤为重要。vite-plugin-mock作为一款专为Vite打造的插件具有以下优势同时支持开发和生产环境本地开发使用Connect中间件可在Chrome控制台查看网络请求记录生产环境使用Mock.js满足测试需求。简单易用只需简单配置即可快速搭建模拟服务。实时更新支持监听mock文件变化实时更新模拟数据。灵活强大基于Mock.js可生成各种类型的模拟数据支持自定义响应逻辑。快速开始安装与基本配置环境要求node版本12.0.0vite版本2.0.0安装依赖首先需要安装mockjs和vite-plugin-mock# 安装mockjs yarn add mockjs # 或者 npm i mockjs -S # 或者 pnpm add mockjs # 安装vite-plugin-mock yarn add vite-plugin-mock -D # 或者 npm i vite-plugin-mock -D # 或者 pnpm add vite-plugin-mock -D基本配置在vite.config.ts中配置插件import { UserConfigExport, ConfigEnv } from vite import { viteMockServe } from vite-plugin-mock import vue from vitejs/plugin-vue export default ({ command }: ConfigEnv): UserConfigExport { return { plugins: [ vue(), viteMockServe({ // 默认mock文件存放目录 mockPath: mock, // 是否启用mock功能 enable: true, }), ], } }深入了解核心配置选项vite-plugin-mock提供了丰富的配置选项让你可以根据项目需求进行灵活调整mockPath类型string默认值mock说明设置mock .ts文件存放的文件夹路径。如果watchFiles: true将监听该文件夹下的文件变化并实时同步到请求结果。ignore类型RegExp | ((fileName: string) boolean)默认值undefined说明自动读取模拟.ts文件时忽略指定格式的文件。watchFiles类型boolean默认值true说明设置是否监听mock .ts文件的变化。enable类型boolean默认值true说明是否启用mock功能。configPath类型string默认值vite.mock.config.ts说明设置mock读取的数据入口。当该文件存在且位于项目根目录时将优先读取并使用该文件。配置文件返回一个数组。logger类型boolean默认值true说明是否在控制台显示请求日志。实战指南创建Mock文件Mock文件基本结构在mockPath指定的文件夹下创建.ts文件例如test.tsimport { MockMethod } from vite-plugin-mock export default [ { url: /api/get, method: get, response: ({ query }) { return { code: 0, data: { name: vben, }, } }, }, { url: /api/post, method: post, timeout: 2000, response: { code: 0, data: { name: vben, }, }, }, ] as MockMethod[]MockMethod类型详解MockMethod是mock接口的配置类型包含以下属性{ // 请求URL url: string; // 请求方法 method?: MethodType; // 请求延迟时间毫秒 timeout?: number; // 状态码默认200 statusCode?: number; // 响应数据JSON response?: ((opt: { [key: string]: string; body: Recordstring,any; query: Recordstring,any, headers: Recordstring, any; }) any) | any; // 响应非JSON rawResponse?: (req: IncomingMessage, res: ServerResponse) void; }示例创建用户相关接口下面是一个创建用户接口的示例来自packages/playground/js-example/mock/user.jsexport default [ { url: /api/createUser, method: post, response: ({ body }) { console.log(body, body) return { code: 0, message: ok, data: null, } }, }, ]高级用法使用rawResponse如果需要返回非JSON格式的响应可以使用rawResponse{ url: /api/text, method: post, rawResponse: async (req, res) { let reqbody await new Promise((resolve) { req.on(data, (chunk) { reqbody chunk }) req.on(end, () resolve(undefined)) }) res.setHeader(Content-Type, text/plain) res.statusCode 200 res.end(hello, ${reqbody}) }, }生产环境配置在生产环境中使用mock需要创建mockProdServer.ts文件// mockProdServer.ts import { createProdMockServer } from vite-plugin-mock/client // 逐一导入你的mock .ts文件 // 如果你使用vite.mock.config.ts只需直接导入该文件 import testModule from ../mock/test export function setupProdMockServer() { createProdMockServer([...testModule]) }然后在入口文件中引入// src/main.ts if (process.env.NODE_ENV production) { import(./mockProdServer).then(({ setupProdMockServer }) { setupProdMockServer() }) }注意事项mock .ts文件中不能使用node模块否则生产环境会失败。在生产环境中使用mock仅适用于某些测试环境不要在正式环境中开启以免造成不必要的错误。同时在生产环境中可能会影响正常的Ajax请求如文件上传失败等。示例项目vben Admin是一个使用vite-plugin-mock的示例项目你可以参考它的实现方式。总结vite-plugin-mock是一款功能强大、使用简单的Vite数据模拟插件它基于Mock.js为前端开发者提供了便捷的接口模拟方案。无论是在开发环境还是测试环境都能帮助你快速搭建模拟服务提高开发效率。希望本指南能帮助你更好地了解和使用vite-plugin-mock。如果你有任何问题或建议欢迎在项目的GitHub仓库提交issue。【免费下载链接】vite-plugin-mockA mock plugin for vite.use mockjs.项目地址: https://gitcode.com/gh_mirrors/vi/vite-plugin-mock创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

MOSFET栅极驱动Rg与Lg如何影响开关波形?LTspice仿真与PCB布局实战解析 2026/9/12 4:47:06

MOSFET栅极驱动Rg与Lg如何影响开关波形?LTspice仿真与PCB布局实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
fhEVM 门限式 KMS 后端:基于 t-out-of-n 安全多方计算(MPC)的 FHE 密钥保护方案 2026/9/12 4:47:06

fhEVM 门限式 KMS 后端:基于 t-out-of-n 安全多方计算(MPC)的 FHE 密钥保护方案

fhEVM 门限式 KMS 后端:基于 t-out-of-n 安全多方计算(MPC)的 FHE 密钥保护方案 【免费下载链接】fhevm FHEVM, a full-stack framework for integrating Fully Homomorphic Encryption (FHE) with blockchain applications 项目地址: http…

阅读更多 →
如何把 Graphiti MCP 服务器接入 Cursor 并配置 HTTP 端点与 group_id? 2026/9/12 4:47:06

如何把 Graphiti MCP 服务器接入 Cursor 并配置 HTTP 端点与 group_id?

如何把 Graphiti MCP 服务器接入 Cursor 并配置 HTTP 端点与 group_id? 【免费下载链接】graphiti Build Real-Time Knowledge Graphs for AI Agents 项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti 本文的任务是在本机跑起 Graphiti 的 MCP …

阅读更多 →
处理超大扫描件:OCRmyPDF 的 Tesseract 大图像降采样 --tesseract-downsample-large-images 配置 2026/9/12 4:47:06

处理超大扫描件:OCRmyPDF 的 Tesseract 大图像降采样 --tesseract-downsample-large-images 配置

处理超大扫描件:OCRmyPDF 的 Tesseract 大图像降采样 --tesseract-downsample-large-images 配置 【免费下载链接】OCRmyPDF OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched 项目地址: https://gitcode.com/GitHub_Trendin…

阅读更多 →
在 Continue(VS Code / JetBrains)中启用 planning-with-files:文件化持久规划的完整集成指南 2026/9/12 4:47:06

在 Continue(VS Code / JetBrains)中启用 planning-with-files:文件化持久规划的完整集成指南

在 Continue(VS Code / JetBrains)中启用 planning-with-files:文件化持久规划的完整集成指南 【免费下载链接】planning-with-files Persistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown pl…

阅读更多 →
Spring Boot集成OpenTelemetry实现分布式链路追踪实战 2026/9/12 4:44:06

Spring Boot集成OpenTelemetry实现分布式链路追踪实战

1. 项目概述在微服务架构盛行的当下,系统间的调用关系变得异常复杂。记得去年我们团队排查一个订单超时问题,花了整整三天时间才定位到是支付服务到风控服务的gRPC调用出现了偶发性阻塞。这种场景下,分布式链路追踪技术就像给系统装上了X光机…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞