vite和mockjs配合使用

vite + mockjs

当后端还没准备完成之前,前端可以使用 mock 模拟后端响应,提高开发效率

1、安装插件

使用 vite-plugin-mock 插件,配合mockjs完成项目的 mock 配置

复制代码
npm install mockjs vite-plugin-mock
2、vite配置插件

vite.config.js 文件中引入对应插件

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

...

plugins: [
    vue(),
    viteMockServe({
       mockPath: './mock'  // mock数据所在的目录 ./mock 代表和vite.config.js同级目录即根目录
    })
]
3、mock数据编辑

根目录创建mock,mock目录下创建index.js

复制代码
import Mock from "mockjs"
export default [
  {
   url: "/login",
   method: "post",
   response: (res) => {
      return {
        status:200,
        code:1,
        result:res.body  // res.body 接口传过来的参数
      }
   },
 }
]
4、main.js 引入mock数据
复制代码
// 模拟接口mockjs
import '../mock/index'
5、配合axios使用
下载 axios
复制代码
npm install axios
封装axios

src 目录下创建utils目录,utils下创建request.js(文件命名自定义,一般为request或者http)

复制代码
import axios from 'axios'
const service = axios.create({
    baseURL:'' // mockjs 模拟数据这里必须为空,否则请求报404 
})
// 请求拦截器
service.interceptors.request.use(config=>{
    // 头部携带token
    return config;
})

// 响应拦截器
service.interceptors.response.use(res=>{
    return res;
},err=>{
    return Promise.reject(err)
})

export default service;
封装api

src 目录下新建 api 文件夹,api下创建 api.js

复制代码
import request from '../utils/request'

//  登录
export const login = (data)=>{
    return request({
        method:'post',
        url:'/login',
        data:data
    })
}
使用axios
复制代码
import {login} from '../../api/api'

const getTest = async ()=>{
    let res = await login({
        name:'张三',
        pwd:'123456'
    })
}

onMounted(()=>{
   getTest()
})
相关推荐
人工智能训练2 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪2 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
xiaoqi9223 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233223 小时前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
烬头88215 小时前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos
pas1365 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠5 小时前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
2601_949833395 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
珑墨6 小时前
【Turbo】使用介绍
前端
军军君016 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three