首页 > 其他分享 >vue3 门户网站搭建4-mockjs

vue3 门户网站搭建4-mockjs

时间:2023-02-27 10:46:14浏览次数:46  
标签:文件 string -- 门户网站 js vue3 mockjs response mock

在后端接口没做好之前,为了更好的模拟接口返回,引入 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

标签:文件,string,--,门户网站,js,vue3,mockjs,response,mock
From: https://www.cnblogs.com/guofan/p/17130708.html

相关文章

  • vue3 + vite4 + vue-router4动态路由存在的问题
    使用vite4、vue3、vue-router4搭建动态路由的时候遇到的问题及解决方法解决!!我使用的是登录接口返回菜单,使用pinia存储菜单数据,使用pinia-plugin-persist加js-cookie进行......
  • 在vue3+vite3中使用socket.io-client踩坑记录
    1版本问题服务端socket.io版本和client端一定要对应,否则会连接不上。前端封装业务逻辑之前,要去和后台首先确定下自己团队所需要采用的版本。2低版本socket.io-client和v......
  • vue3动态组件
    markRow:标记一个对象,使其不能成为一个响应式对象。toRaw:将响应式对象(由reactive定义的响应式)转换为普通对象。shallowRef:只处理基本数据类型的响应式,不进行对象的响应式......
  • vue3异步组件(defineAsyncComponent、Suspense的使用)
    异步组件按需引入,用到的时候再加载,异步组件的引入需要用​​defineAsyncComponent​​进行注册。​​defineAsyncComponent​​工厂函数需要返回一个Promise对象,接收对象类......
  • Vue3 | 右键菜单插件推荐v-contextmenu
    v-contextmenu-githubv-contextmenu-docv-contextmenu-预览可以非常快速实现鼠标右键菜单O(∩_∩)O~......
  • vue3 通过文件名称 插槽里只显示指定名称组件
    vue3过滤插槽里的组件获取到插槽,也就是VNode,根据type的名称把不符合名称的组件过滤出去想实现类似ElementUI的select效果,在el-sleect组件中放文本div或是别的组件都不显......
  • 使用vue3重构项目的一点思考
    vue3如何做整页面复用?场景是,monorepo项目,子项目间总有可以复用的页面,比如说登录页、用户管理和权限管理等。这些页面大部分情况下都相同,但可能具有不同的用户权限分类,有......
  • 【vue3】vue3+ts+vite项目创建
    1、npminitvite@lastest 2、项目目录结构  3、npminstall(i) 安装依赖(是根据package.json中devDependencies的依赖安装的)启动命令 dev  打包命令build预......
  • Vue3 + Vite +TS 项目问题总结
    最近做的几个Vue项目基本都收尾了,总结一下在项目中遇到的问题,希望能帮助遇到同样问题的小伙伴项目情况:我做的项目都是Vue3.2(setup语法)+Vite+TS,一个H5项目,一个PC前......
  • 【vue3】实现全屏功能
    前言全屏效果:实现安装依赖包npmi@vueuse/core调用import{useFullscreen}from'@vueuse/core'useFullscreen的使用文档:https://vueuse.org/core/useFull......