欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解vue3結(jié)合ts項(xiàng)目中使用mockjs

 更新時(shí)間:2023年07月05日 14:44:59   作者:黑蘿卜不黑  
這篇文章主要為大家介紹了vue3結(jié)合ts項(xiàng)目中使用mockjs示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前后端分離的開發(fā)模式

前端需要向后端請(qǐng)求數(shù)據(jù)(ajax請(qǐng)求),但實(shí)際開發(fā)過程中,前后端會(huì)約定一份接口文檔,但前后端開發(fā)進(jìn)度并不一致,當(dāng)后端沒有完善接口功能時(shí),前端需要在本地模擬數(shù)據(jù)返回,此時(shí)需要使用到mockjs。

安裝mock

npm install mockjs --save-dev

創(chuàng)建mock文件夾

mock下創(chuàng)建index.ts、types.ts 以及你需要使用到的模塊的.ts文件。

inde.ts文件代碼

import Mock from 'mockjs'
import { MockParams } from './types'
import api from './api'
// 需要遍歷的請(qǐng)求
const mocks = [...api]
// 設(shè)置200-2000毫秒延時(shí)請(qǐng)求數(shù)據(jù)
Mock.setup({
  timeout: '200-2000'
})
// 接口攔截
export function mockRequest() {
  let i: MockParams
  for (i of mocks) {
    Mock.mock(new RegExp(i.url), i.type || 'get', i.response)
  }
}

types.ts文件代碼

// 定義參數(shù)類型
export interface MockParams {
  url: string
  type: string
  data?: any
  params?: any
  response(option?: any): Record<string, unknown>
}

api.ts文件代碼

const tokens = {
  admin: {
    password: 123456,
    token: 'admin-token'
  },
  editor: {
    password: 123456,
    token: 'editor-token'
  }
}
// get請(qǐng)求從config.url獲取參數(shù),post從config.body中獲取參數(shù)
function paramObj(url) {
  const search = url.split('?')[1]
  if (!search) {
    return {}
  }
  return JSON.parse(
    '{"' +
      decodeURIComponent(search)
        .replace(/"/g, '\\"')
        .replace(/&/g, '","')
        .replace(/=/g, '":"') +
      '"}'
  )
}
const api = [
  // 登陸接口
  {
    url: '/user/login',
    type: 'get',
    response: (config) => {
      const { username } = paramObj(config.url)
      const token = tokens[username].token
      if (token) {
        return {
          code: 0,
          message: '操作成功',
          data: {
            token: token
          }
        }
      }
      return {
        code: 1,
        message: '用戶信息錯(cuò)誤,請(qǐng)重試~',
        data: {}
      }
    }
  }
]
export default api

最后在main.ts引入

/**
 * 測(cè)試環(huán)境下 引入自定義的mockRequest
 * 因?yàn)閙ockRequest不是默認(rèn)導(dǎo)出的:export default{}
 * 所以引入時(shí)需要加大括號(hào),這種可以引入多個(gè)
 */
if (process.env.NODE_ENV === 'development') {
  const { mockRequest } = require('../mock')
  mockRequest()
}

在shims-vue.d.ts中添加聲明

declare module 'mockjs'

以上就是詳解vue3結(jié)合ts項(xiàng)目中使用mockjs的詳細(xì)內(nèi)容,更多關(guān)于vue3+ts使用mockjs的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue自定義多選組件使用詳解

    Vue自定義多選組件使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue自定義多選組件的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 寫給新手同學(xué)的vuex快速上手指北小結(jié)

    寫給新手同學(xué)的vuex快速上手指北小結(jié)

    這篇文章主要介紹了寫給新手同學(xué)的vuex快速上手指北小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Vue實(shí)現(xiàn)微信小程序中預(yù)覽文件的縮放功能

    Vue實(shí)現(xiàn)微信小程序中預(yù)覽文件的縮放功能

    在微信小程序中,默認(rèn)情況下,文件預(yù)覽功能不支持文檔縮放,導(dǎo)致用戶在遇到小字體時(shí)難以清晰閱讀,為了解決這一問題并提升用戶體驗(yàn),實(shí)現(xiàn)文檔的縮放功能至關(guān)重要,所以本文
    2024-12-12
  • vue3中vite的@路徑別名與path中resolve實(shí)例詳解

    vue3中vite的@路徑別名與path中resolve實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于vue3中vite的@路徑別名與path中resolve的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Vue實(shí)現(xiàn)Excel預(yù)覽功能使用場(chǎng)景示例詳解

    Vue實(shí)現(xiàn)Excel預(yù)覽功能使用場(chǎng)景示例詳解

    這篇文章主要為大家介紹了Vue實(shí)現(xiàn)Excel預(yù)覽功能使用場(chǎng)景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • vue使用Element-UI部分組件適配移動(dòng)端問題

    vue使用Element-UI部分組件適配移動(dòng)端問題

    這篇文章主要介紹了vue使用Element-UI部分組件適配移動(dòng)端問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 解決父子組件通信的三種Vue插槽

    解決父子組件通信的三種Vue插槽

    這篇文章主要為大家介紹了Vue插槽解決父子組件通信,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • vue實(shí)現(xiàn)購物車小案例

    vue實(shí)現(xiàn)購物車小案例

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)購物車小案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Vue中偵聽器的基本用法示例

    Vue中偵聽器的基本用法示例

    隨著Vue的使用越來越多,對(duì)Vue的其他知識(shí)點(diǎn)也開始逐漸多了解一點(diǎn),這次做頁面上的計(jì)算,用了Watch偵聽器,這篇文章主要給大家介紹了關(guān)于Vue中偵聽器基本用法的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Vue3配置路由ERROR in [eslint]報(bào)錯(cuò)問題及解決

    Vue3配置路由ERROR in [eslint]報(bào)錯(cuò)問題及解決

    這篇文章主要介紹了Vue3配置路由ERROR in [eslint]報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評(píng)論