当前位置: 首页 > news >正文

Vue项目使用mockjs模拟后端接口

文章目录

    • 操作步骤
      • 1. 安装 mockjs 和 vite-plugin-mock
      • 2. 安装 axios
      • 3. 创建mock路径
      • 4. 配置 viteMockConfig
      • 5. 编写第一个mock接口
      • 6. 创建 createProdMockServer
      • 7. 配置 axios
      • 8. 编写请求接口
      • 9. 在页面中使用

操作步骤

1. 安装 mockjs 和 vite-plugin-mock

vite-plugin-mock 是 vite 提供的mock插件,配合mockjs 一起使用,比较方便。

npm install mockjs vite-plugin-mock=2.9.6

2. 安装 axios

通过axios发送请求,请求到mock的模拟接口

npm install axios

3. 创建mock路径

src 文件夹下创建 mock 文件夹,作为后续编写mock接口的路径

4. 配置 viteMockConfig

在 vite.config.js 中配置 viteMockConfig
mockPath 就是mock文件夹的路径

import { defineConfig } from 'vite'
import {viteMockServe} from 'vite-plugin-mock'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue(),vueDevTools(),viteMockServe({mockPath: './src/mock'})],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))}}
})

5. 编写第一个mock接口

mock文件夹下新建一个 js 文件,如user.js ,作为专门编写与用户相关的接口数据,内容如下:

export default[{url: '/mock/user/test',method: 'get',response: () => {return {code: 200,msg: 'ok',data: 'hello world'}}}
]

该文件创建了一个模拟接口,地址为/mock/user/test

6. 创建 createProdMockServer

mock文件夹下创建一个index.js 文件,内容如下:

import {createProdMockServer} from 'vite-plugin-mock/es/createProdMockServer'
// 导入上面写的user.js
import userModule from './user'export function setupProdMockServer(){createProdMockServer([...userModule])
}

7. 配置 axios

创建 src/utils/system/request.js 文件用来全局配置axios,内容如下:

// 在这个文件中配置axios,以及拦截请求
import axios from 'axios'// const baseURL = import.meta.env.VITE_BASE_URLconst service = axios.create({bbaseURL: '/mock',timeout: 5000
})// 拦截器,错误处理配置export default service

8. 编写请求接口

创建src/api/user.js 文件作为请求用户相关数据的文件,内容如下:

// 导入配置过的 axios
import request from '@/utils/system/request'export function loginApi(data){return request({url: '/user/test',method: 'get',baseURL: '/mock',data})
}

该文件创建了一个请求接口loginAPi ,用来请求之前创建的mock接口地址

9. 在页面中使用

首先在需要的页面导入请求的接口:

import { loginApi } from "../../api/user.js";

然后以Promise的形式使用

onMounted(() => {loginApi({}).then(res => {console.log(res)})
})

如果控制台打印出结果,则说明配置成功

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 笔记:mysql双主,keepalived 配置
  • godis源码分析——Redis协议解析器
  • JVM内存泄露的ThreadLocal详解
  • 树莓派_Pytorch学习笔记20:初步认识深度学习框架
  • linux 查看历史命令列表来访问之前的内容的命令是:history
  • Backend - C# 操作PostgreSQL DB
  • RabbitMQ保证消息被成功发送和消费
  • 网络安全筑基篇——XSS、XML、XXE
  • 全新TTT架构:挑战Transformer和Mamba的霸主地位
  • 从Helm到 Operator:Kubernetes应用管理的进化
  • 二叉苹果树
  • 如何用Vue3和Plotly.js创建交互式表格?
  • 【亲测有效】Linux/Ubuntu远程服务器使用plt.show()没有反应,vscode ssh 远程ubuntu,plt.show不显示图片问题
  • 泰勒公式中拉格朗日余项和佩亚诺余项的区别及具体的应用场景案例
  • Vue3 根据相对路径加载vue组件
  • 【Linux系统编程】快速查找errno错误码信息
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Android框架之Volley
  • JavaScript对象详解
  • JS+CSS实现数字滚动
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Laravel Telescope:优雅的应用调试工具
  • MySQL QA
  • Object.assign方法不能实现深复制
  • PHP的类修饰符与访问修饰符
  • WePY 在小程序性能调优上做出的探究
  • 阿里云应用高可用服务公测发布
  • 从伪并行的 Python 多线程说起
  • 给github项目添加CI badge
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 蓝海存储开关机注意事项总结
  • 浏览器缓存机制分析
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #pragma multi_compile #pragma shader_feature
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (十一)图像的罗伯特梯度锐化
  • (四)React组件、useState、组件样式
  • (一)SvelteKit教程:hello world
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)Google的Objective-C编码规范
  • (转)IOS中获取各种文件的目录路径的方法
  • (转载)Linux网络编程入门
  • **CI中自动类加载的用法总结
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded