vue3中mockjs模拟获取数据

阅读数:8 评论数:0

跳转到新版页面

分类

html/css/js

正文

一、概述 

在开发项目的时候,如果后端接口没有出来,前端开发可以使用mock.js来模拟接口数据。

二、使用

1、安装mockjs

如果你尚未安装mockjs

npm install mockjs --save-dev

2、创建mock数据文件 

在项目中创建一个文件(例如 mocks/index.js),然后定义你的模拟数据规则。

// mocks/index.js
import Mock from 'mockjs';

// 模拟一个 GET 请求
Mock.mock('/api/data', 'get', {
  success: true,
  data: {
    name: 'Mockjs'
  }
});

// 更多模拟的 API ...

3、配置vite以使用mock数据

在 Vite 项目中,你可以在 vite.config.js 中配置开发服务器来拦截请求,并返回 Mock 数据。

// vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import { viteMockServe } from 'vite-plugin-mock';

export default defineConfig({
  plugins: [
    vue(),
    viteMockServe({
      // 启用并配置插件
      mockPath: './mocks', // mock文件所在目录
      localEnabled: true, // 开发打包开关
    }),
  ],
  // 其他配置...
});

注意,上面的配置使用了 vite-plugin-mock,这是一个专门为 Vite 设计的插件,用于提供 Mock 功能。如果你还没有安装它,请先安装:

npm install vite-plugin-mock --save-dev
# 或者
yarn add vite-plugin-mock --dev

按这种方式,我并没有成功,而是采用在main.js中引入的方式

import '@/mock/index.js'

4、启动vite开发服务器

运行 Vite 开发服务器,Mock 数据将会生效。

npm run dev
# 或者
yarn dev

在上述步骤中,当你的应用尝试调用 /api/data 这个 API 时,请求将被 Mockjs 拦截,并返回你在 mocks/index.js 文件中定义的模拟数据。

请记住,这些 Mock 数据只应该在开发环境中使用,在生产环境构建时应确保它们不会被包含进去。通过配置 vite-plugin-mock 插件的 localEnabled 和 prodEnabled 选项,你可以控制 Mock 功能在不同环境下的开启状态。

三、mockjs常用语法

http://mockjs.com/examples.html

1、数据模板定义

在 Mock.js 中,你可以定义数据模板来生成随机数据:

Mock.mock({
  'list|1-10': [{ // 'list' 是属性名,'|1-10' 是生成规则
    'id|+1': 1, // 数字从1开始,后续依次加1
    'name|1-5': '★', // 'name' 是一个重复1到5次的字符串
    'bool|1-2': true, // 布尔值随机生成,true 的概率是 1/3
    'age|20-30': 25, // 生成一个20到30之间的整数
  }]
});

2、数据占位符

Mock.js 提供了一系列的占位符,用于生成特定格式的随机数据:

  • @boolean:随机生成一个布尔值。
  • @natural:随机生成一个自然数(大于等于0的整数)。
  • @integer:随机生成一个整数。
  • @float:随机生成一个浮点数。
  • @string:随机生成一段字符串。
  • @date:随机生成一个日期字符串(默认格式为 yyyy-MM-dd)。
  • @time:随机生成一个时间字符串(默认格式为 HH:mm:ss)。
  • @datetime:随机生成一个日期和时间字符串。
  • @now:生成当前的日期和时间字符串。
  • @image:随机生成一张图片的 URL。
  • @color:随机生成一个颜色字符串。
  • @cname:随机生成一个常见的中文姓名。
  • @email:随机生成一个电子邮箱地址。
  • @url:随机生成一个 URL。
  • @province:随机生成一个省份名称。
  • @city:随机生成一个城市名称。
  • @county:随机生成一个区县名称。

例如

Mock.mock({
  'boolean': '@boolean', // 随机生成一个布尔值
  'integer': '@integer(10, 100)', // 生成一个10到100之间的整数
  'float': '@float(0, 10, 2, 2)', // 生成一个0到10之间保留两位小数的浮点数
  'string': '@string("lower", 5)', // 生成一个长度为5的随机小写字符串
  'date': '@date("yyyy-MM-dd")', // 生成一个随机日期
  'image': '@image("200x100", "#4A7BF7", "Hello")', // 生成一个200x100的蓝色图片,图片上的文字是Hello
  'name': '@cname', // 随机生成一个中文姓名
  'url': '@url', // 随机生成一个URL
  'address': '@county(true)' // 随机生成一个省市区
});



相关推荐

一、概述 都是现代化打包工具 二、对比 1、底层语言 从底层原理上来说,Vite是基于esbuild预构建依赖。而esbuild是采用go语言编写,因为go语言的操作是纳秒级别,而js是以毫秒计数,所

一、使用pnpm新建项目 可以使用npm 或yarn或pnpm来初始化Vite项目 pnpm create vite xxx(项目名称) #选择vue #选择js cd xxx (进入项目目录) #安

一、问题描述 vite+vue3项目开发完以后,你会发现打包后的项目运行在新版浏览器可以正常显示,但运行在一些版本比较老的浏览器如 Chrome < 23、Firefox < 21和IE等浏览器上时显

一、概述 sass提供了变量、嵌套、混合、志入等高级功能,强化了css的功能,编写css更便捷,功能更强大。 1、scss文件命名(前下划线) 在 SCSS 文件命名约定中,文件名前的下划线(_)有特

一、概述 官方文档:https://cn.vitejs.dev/config/ 二 共享配置 1. resolve.extensions import HelloWorld from '@/compo

一、build视图分析依赖文件 分析项目中的文件大小及引用情用情况,是优化前的重要一步,从而采取文件分包、cdn引入等相关技术。 Rollup Plugin Visualizer是一个依赖分析插件,它

一、概述 Vite 是一个现代化的前端构建工具,它提供了快速的冷启动、即时模块热更新和真正的按需编译等特性。 二、Vite构建组件项目 1、配置vite.config.js 在你的项目根目录下,确保你

一、概述 VitePress是一个基于Vite和Vue的静态站点生成器,它通常用于编写文档。 二、使用方法 要在 VitePress 中配置组件文档,你需要遵循以下步骤: 1、安装VitePress

方法一、使用new URL 在 Vite 中,你可以使用 new URL 的方式来引用静态资源,这样 Vite 会处理资源的路径,并且在构建时会将资源复制到输出目录: <script setup> c

shamefully-hoist=true 是一个在 Vue 3 项目中使用 Vite 时的配置选项。这个选项用于解决某些情况下的依赖冲突问题。 在 Vue 3 项目中,你可以在 vite.confi