在后端接口没做好之前,为了更好的模拟接口返回,引入 mockjs。

它可以拦截 ajax 请求,生成伪数据。

1、安装: npm i mokjs -D、npm i vite-plugin-mock -D

2、在 vite.config.js 中引入 viteMockServe,mockPath 即为接口文件存放地址

配置项扩展:

{
supportTs?: boolean; --是否读取ts文件模块,设置为true时不能读取js文件
logger?:boolean; --是否在控制台显示请求日志
mockPath?: string; --设置模拟数据的存储文件夹,如果不是index.js需要写明完整路径
ignore?: RegExp | ((fileName: string) => boolean);--读取文件时忽略指定格式的文件
watchFiles?: boolean;--是否监视mockPath文件夹内文件的修改
localEnabled?: boolean;--设置是否启用本地 xxx.ts 文件,不要在生产环境中打开它.设置为 false 将禁用 mock 功能
ignoreFiles?: string[]; --读取文件时忽略的文件
configPath?: string;--设置模拟读取的数据条目。 当文件存在并且位于项目根目录中时,将首先读取并使用该文件。 配置文件返回一个数组
prodEnabled?: boolean;--设置打包是否启用 mock 功能
injectFile?: string;--如果生产环境开启了 mock 功能,即prodEnabled=true.则该代码会被注入到injectFile对应的文件的底部。默认为main.{ts,js}。这样做的好处是,可以动态控制生产环境是否开启 mock 且在没有开启的时候 mock.js 不会被打包。如果代码直接写在main.ts内,则不管有没有开启,最终的打包都会包含mock.js
injectCode?: string;--injectCode代码注入的文件,默认为项目根目录下src/main.{ts,js}
}

为了方便接口管理,这里要分为多个文件进行维护,代码注入:

3、_createProductionServer.js:

4、配置接口:(login.js)

5、具体使用:(提前引入了 axios)

6、配置启动使用:

测试请求没问题~

常用方法:

另附 axios :

import axios from "axios";
import { getItem, StorageKey } from '@/utils/storage';
import { ElMessage } from "element-plus"; const service = axios.create({
baseURL: '/',
timeout: 10000,
withCredentials: true,
headers: {
token: getItem(StorageKey.token) || '1111',
'Content-Type': 'application/json',
}
}); // 请求拦截器
service.interceptors.request.use(
config => {
return config;
},
error => {
return Promise.reject(error);
}
); // 响应拦截器
service.interceptors.response.use(
response => {
if (response.data.code !== 200) {
if (response.data.message) {
ElMessage.error(response.data.message);
}
return Promise.reject(response.data)
}
return response.data;
},
error => {
return Promise.reject(error);
}
); export default service

最新文章

  1. impdp使用
  2. wpa_supplicant移植
  3. map线程
  4. chapter 2
  5. (6/18)重学Standford_iOS7开发_控制器多态性、导航控制器、选项卡栏控制器_课程笔记
  6. Expert Shell Scripting
  7. Swift基础语法学习总结一
  8. Java基础知识强化89:Date类之Data类概述及其方法
  9. python3 时间和日期
  10. 调皮的R文件,卑鄙的空格
  11. 镜像命名的最佳实践 - 每天5分钟玩转 Docker 容器技术(18)
  12. JAVA简单的网格布局管理器--JAVA基础
  13. 从jvm角度看懂类初始化、方法重写、重载。
  14. 初学Java Web(6)——JSP学习总结
  15. Oracle查询数据库中所有表的记录数
  16. thinkphp5 实现搜索分页能下一页保留搜索条件
  17. html form表单提交后处理返回数据
  18. Bogart BogartPublic.vb
  19. what's RNA-Seq?
  20. Map的常用操作

热门文章

  1. 实现简单的`Blazor`低代码
  2. 5.安装&卸载子应用 投票
  3. 微信小程序数字转中文wxs
  4. react中redux怎么使用
  5. 列表(list)内置方法补充、字典(dict)内置方法、元组(tuple)内置方法、集合(set)内置方法
  6. 用于双目重建中的GPU编程:julia-cuda
  7. location.search
  8. MySQL单节点变更为主从节点
  9. 测开-面试题-OS、Linux、算法、其他
  10. java学习日记20230225-java介绍