在vite(vue)项目中使用mockjs

7 篇文章 2 订阅

在开发环境使用

1、首先创建vite项目

yarn create vite

选择vue,选择默认的js版本

2、进入项目文件夹中执行yarn安装依赖

3、安装axios、mockjs及插件

yarn add axios mockjs vite-plugin-mock

4、修改vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// 引入viteMockServe
import { viteMockServe } from 'vite-plugin-mock'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    viteMockServe({
      mockPath: "./mock/"
    }),
  ]
})

vite-plugin-mock 中的配置内容的含义

{
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}
}

5、在根目录创建mock文件夹

新建文件index.js

export default [
    {
        url: "/api/getUsers",
        method: "get",
        response: () => {
            return {
                code: 0,
                message: "ok",
                data: {
                    'rows|10': [{
                        id: '@guid',
                        name: '@cname',
                        'age|20-30': 23,
                        'job|1': ['前端工程师', '后端工程师', 'UI工程师', '需求工程师']
                      }]
                },
            }
        }
    }
]

6、在需要的组建中使用

import axios from 'axios'
axios.get('/api/getUsers').then((res)=>{
  console.log(res);
})

在这里插入图片描述

在生产环境使用

1、修改mock/index.js

import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'
export function setupProdMockServer() {
    createProdMockServer([{
        url: "/api/getUsers",
        method: "get",
        response: () => {
            return {
                code: 0,
                message: "ok",
                data: {
                    'rows|10': [{
                        id: '@guid',
                        name: '@cname',
                        'age|20-30': 23,
                        'job|1': ['前端工程师', '后端工程师', 'UI工程师', '需求工程师']
                    }]
                },
            }
        }
    }])
}

2、修改main.js

import { createApp } from 'vue'
import App from './App.vue'
// 新增
import { setupProdMockServer } from '../mock/';
if (process.env.NODE_ENV === 'production') {
  setupProdMockServer();
}
createApp(App).mount('#app')

3、修改vite.config.js

import { defineConfig } from 'vite'
// 新增
import { resolve } from 'path'
import vue from '@vitejs/plugin-vue'
// 引入viteMockServe
import { viteMockServe } from 'vite-plugin-mock'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    viteMockServe({
      // default
      supportTs: true,
      logger: false,
      mockPath: "./mock/",
      // 新增
      localEnabled: false, // 开发环境
      prodEnabled: true, // 生产环境设为true,也可以根据官方文档格式
      injectCode: 
      ` import { setupProdMockServer } from './src/mock';
        setupProdMockServer(); `,
      watchFiles: true, // 监听文件内容变更
      injectFile: resolve("src/main.js"), // 在main.ts注册后需要在此处注入,否则可能报找不到setupProdMockServer的错误
    }),
  ]
})

4、打包部署

执行打包编译命令

yarn build

将生成的dist文件夹部署到服务器中,此处不在陈述

5、效果

在这里插入图片描述
继续开发记得把代码修改回去哦

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Vue3 Vite项目使用Mock.js,你可以按照以下步骤进行配置: 1. 首先,创建一个Vue3 Vite项目并进入项目文件夹。 2. 执行`yarn`命令安装项目依赖。 3. 安装axios、mockjsvite-plugin-mock插件,可以使用以下命令进行安装:`yarn add axios mockjs vite-plugin-mock`。 4. 修改vite.config.js文件,引入vite-plugin-mock插件,并配置mockPath为"./mock/"。示例代码如下: ```javascript import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { viteMockServe } from 'vite-plugin-mock' export default defineConfig({ plugins: \[ vue(), viteMockServe({ mockPath: "./mock/" }) \] }) ``` 5. 在根目录下创建一个mock文件夹,用于存放mock数据。 6. 在需要使用mock数据的组件引入并使用Mock.js。你可以在组件使用Mock.js生成模拟数据。例如: ```javascript import Mock from 'mockjs' const data = Mock.mock({ 'list|1-10': \[{ 'id|+1': 1, 'name': '@cname', 'age|18-60': 1 }\] }) console.log(data) ``` 这样,你就可以在Vue3 Vite项目使用Mock.js来模拟接口数据了。 #### 引用[.reference_title] - *1* *2* [在vitevue项目使用mockjs](https://blog.csdn.net/lhkuxia/article/details/125000115)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Vue3+Vite项目使用mockjs模拟数据](https://blog.csdn.net/m0_72788309/article/details/129534945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦夏木禾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值