Mock实现模拟接口(没啥特别的)

4 阅读1分钟

模拟接口数据创建本地Mock数据文件。借助第三方(Mock.js)或结合开发服务器(Vite/Webpack Dev Sever)实现的前端模拟接口方案。

典型的(Vite+Mock.js)为例子:

1.安装依赖
npm install mockjs -D
# 如果使用 vite-plugin-mock(推荐)
npm install vite-plugin-mock -D
2.创建mock/index.js或mock/yser.js等文件
// mock/user.js 
import Mock from 'mockjs' 
// 拦截 GET /api/user/list 请求 
Mock.mock('/api/user/list', 'get', { 
code: 200, 
data: [ 
{ id: 1, name: '张三' }, 
{ id: 2, name: '李四' }
], 
message: 'success' })
// 拦截 POST /api/user/add 
Mock.mock('/api/user/add', 'post', (options) => {
console.log('收到请求体:', options.body)
return { 
code: 200,
message: '添加成功' 
} 
})
3.在mian.js或入口文件中引入
// main.js 
import './mock' // 引入 mock 入口文件 
import { createApp } from 'vue' 
import App from './App.vue' 
createApp(App).mount('#app')

这种方式仅适用于开发环境,Mock.js会拦截XMLHttpRequest/fetch,不要在生产环境中引入。

4.推荐使用vite-plugin-mock
import { defineConfig } from 'vite' 
import vue from '@vitejs/plugin-vue' 
import { viteMockServe } from 'vite-plugin-mock' 
export default defineConfig({ 
plugins: [ 
vue(), 
viteMockServe({
mockPath: 'mock', // mock 文件目录
localEnabled: true, // 开发环境开启 
prodEnabled: false, // 生产环境关闭 
 }) 
 ] 
})