项目中mock的使用

项目中mock的使用

1.下载

npm i mockjs

ts项目下载

npm i @types/mockjs

2.项目准备

  1. 准备一个mock文件夹,专门存放mock假数据

  2. index.ts为入口文件

在这里插入图片描述

3.开始使用

准备一个index.json文件

{
  "user/info": {
    "code": 0,
    "data": {
      "id": 1,
      "username": "admin",
      "nickname": "管理员",
      "roles": ["admin"]
    },
    "msg": "ok"
  }
}

开启json-server 服务,控制台输入

json-server .\index.json

按下回车显示

JSON Server started on PORT :3000
Press CTRL-C to stop
Watching .\index.json...

(˶ᵔ ᵕ ᵔ˶)

Index:
http://localhost:3000/

Static files:
Serving ./public directory if it exists

Endpoints:
http://localhost:3000/user/info

做接口的时候Endpoints的值就是url,Index可以在封装axios的时候,作为基地址

接下来以Endpoints http://localhost:3000/user/info 开始准备获取数据的接口

  1. 先封装axios

    import axios from 'axios'
    const instance = axios.create({
      baseURL: 'http://localhost:3000/',
      timeout: 10000
    })
    instance.interceptors.request.use(
      (config) => {
        return config
      },
      (err) => Promise.reject(err)
    )
    instance.interceptors.response.use(
      (res) => {
        return res
      },
      (err) => {
        return Promise.reject(err)
      }
    )
    export { instance }
    
    

2.准备接口

import { instance } from './index'
export function getUserInfoApi() {
  return instance.get('/user/info')
}

3.在testMock.vue页面调用接口

import { getUserInfoApi } from '@/api/user'
import { onMounted, ref } from 'vue'

onMounted(async () => {
  const res = await getUserInfoApi()
  console.log(res)
})

在这里插入图片描述

4.准备Mock假数据,在mock文件新建user.ts文件

import { mock } from 'mockjs'
mock(/.*\/user/, 'get', {
  code: 0,
  'data|3': [
    {
      id: '@id',
      name: '@cname',
      age: '@integer(18, 60)',
      address: '@city(true)',
      email: '@email',
      phone: '@phone'
    }
  ],
  msg: 'success'
})

mock(url,type,data)

url:请求的url可以是string也可以是字符串,type请求类型,data假数据

5.在mock文件新建index.ts文件,作为入口文件

import '@/mock/user'

6.在main.ts文件导入

import '@/mock'

在这里插入图片描述

7.不需要的时候,直接在main.ts注释mock文件的index.ts

import ‘@/mock/user’


6.在main.ts文件导入

```js
import '@/mock'

[外链图片转存中…(img-eSChjbVo-1718369700741)]

7.不需要的时候,直接在main.ts注释mock文件的index.ts

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue项目Mock是一种用于模拟接口数据的技术。它可以在测试过程,用虚拟的对象来代替一些不容易构造或获取的对象,以便进行测试。\[1\] 在Vue项目使用Mock,一般需要进行以下几个步骤: 1. 创建mock文件夹:在项目的src目录下创建一个名为mock的文件夹,用于存放Mock相关的文件。 2. 配置vue.config.js文件:在项目的根目录下找到vue.config.js文件(如果没有则需要手动创建),在该文件进行Mock的配置。可以通过配置webpack的devServer属性来启用Mock服务。 3. 编写Mock接口:在mock文件夹下创建一个index.js文件,用于配置Mock服务。在该文件,可以使用Mock.js来模拟接口数据。可以根据需要创建多个模拟接口的文件,放在api文件夹下。 4. 在项目使用Mock:在需要使用Mock数据的地方,可以通过import语句引入Mock接口文件,并使用定义的接口进行数据模拟。 5. 添加环境变量:为了在不同的环境使用不同的Mock配置,可以在项目添加环境变量,根据环境变量的值来判断是否启用Mock服务。\[2\]\[3\] 需要注意的是,Mock只在开发环境使用,不会影响生产环境。在生产环境Mock相关的代码会被自动剔除。 #### 引用[.reference_title] - *1* *3* [mock在vue项目使用 —— json写法](https://blog.csdn.net/myisyourbb/article/details/118759231)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [在Vue项目使用Mock](https://blog.csdn.net/weixin_42275702/article/details/117621167)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值