最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3+TypeScript集成Mock的方法

 更新時間:2025年04月24日 09:35:13   作者:碼農(nóng)張3  
這篇文章主要介紹了Vue3+TypeScript集成Mock的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

mock.js用來做什么

在項目開發(fā)中,會通過調用接口來獲取數(shù)據(jù),然后進行渲染。現(xiàn)在前后端分離開發(fā),有時后端并不能夠及時開發(fā)完成接口,這個時候我們就可以通過mock.js來模擬產(chǎn)生一些虛擬的數(shù)據(jù),可以讓前端在后端接口還沒有開發(fā)出來時獨立開發(fā),使項目可以正常進行,節(jié)約了寶貴時間,等到后端接口編寫完畢后,再替換成真正的接口就方便快捷很多。

安裝依賴

pnpm install -D vite-plugin-mock mock.js

注冊插件

vite.config.ts

...
import { defineConfig } from 'vite'
import { viteMockServe } from 'vite-plugin-mock'
...
export default defineConfig(() => {
  return {
    plugins: [
      vue(),
      viteMockServe({
        // mockPath: 'mock', // 默認
        enable: true,
      }),
    ],
  }
})

原代碼 defineConfig({...}) 現(xiàn)在要改成 defineConfig(() => {return{...}})
參考網(wǎng)址:https://github.com/vbenjs/vite-plugin-mock/blob/main/README.zh_CN.md

創(chuàng)建假接口

/mock/user.ts

// 用戶信息數(shù)據(jù),createUserList:此函數(shù)執(zhí)行會返回一個數(shù)組,數(shù)組里面包含兩個用戶信息
function createUserList() {
  return [
    {
      userId: 1,
      avatar:
        'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
      username: 'admin',
      password: '111111',
      desc: '平臺管理員',
      roles: ['平臺管理員'],
      buttons: ['cuser.detail'],
      routes: ['home'],
      token: 'Admin Token',
    },
    {
      userId: 2,
      avatar:
        'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
      username: 'system',
      password: '111111',
      desc: '系統(tǒng)管理員',
      roles: ['系統(tǒng)管理員'],
      buttons: ['cuser.detail', 'cuser.user'],
      routes: ['home'],
      token: 'System Token',
    },
  ]
}
//對外暴露一個數(shù)組:數(shù)組里面包含兩個接口
//登錄假的接口
//獲取用戶信息的假的接口
export default [
  // 用戶登錄接口
  {
    url: '/api/user/login',//請求地址
    method: 'post',//請求方式
    response: ({ body }) => {
      //獲取請求體攜帶過來的用戶名與密碼
      const { username, password } = body;
      //調用獲取用戶信息函數(shù),用于判斷是否有此用戶
      const checkUser = createUserList().find(
        (item) => item.username === username && item.password === password,
      )
      //沒有用戶返回失敗信息
      if (!checkUser) {
        return { code: 201, data: { message: '賬號或者密碼不正確' } }
      }
      //如果有返回成功信息
      const { token } = checkUser
      return { code: 200, data: { token } }
    },
  },
  // 獲取用戶信息
  {
    url: '/api/user/info',
    method: 'get',
    response: (request) => {
      //獲取請求頭攜帶token
      const token = request.headers.token;
      //查看用戶信息是否包含有次token用戶
      const checkUser = createUserList().find((item) => item.token === token)
      //沒有返回失敗的信息
      if (!checkUser) {
        return { code: 201, data: { message: '獲取用戶信息失敗' } }
      }
      //如果有返回成功信息
      return { code: 200, data: { checkUser } }
    },
  },
]

安裝 axios

pnpm i axios

使用測試

/main.ts 臨時測試

...
import axios from 'axios'
axios({
  url: '/api/user/login',
  method: 'post',
  data: {
    username: 'admin',
    password: '111111'
  }
})
app.mount('#app')

到此這篇關于Vue3+TypeScript集成Mock的方法的文章就介紹到這了,更多相關Vue TypeScript集成Mock內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue2中如何更改el-dialog出場動畫(el-dialog彈窗組件)

    vue2中如何更改el-dialog出場動畫(el-dialog彈窗組件)

    el-dialog是一個十分好用的彈窗組件,但是出場動畫比較單調,于是決定自定義一個出場動畫,本文通過實例代碼圖文相結合給大家敘述下實現(xiàn)思路,感興趣的朋友一起看看吧
    2022-06-06
  • vue的簡介及@vue/cli?腳手架的使用示例

    vue的簡介及@vue/cli?腳手架的使用示例

    vue 是一個 漸進式的javascript框架,腳手架是一個通用概念,幫助搭建項目的工具,本文以vue2為例結合實例代碼給大家詳細講解,感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • vue shallowRef作用及引發(fā)問題詳解

    vue shallowRef作用及引發(fā)問題詳解

    這篇文章主要為大家介紹了vue shallowRef作用及引發(fā)問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • vue和js中實現(xiàn)模糊查詢方式

    vue和js中實現(xiàn)模糊查詢方式

    這篇文章主要介紹了vue和js中實現(xiàn)模糊查詢方式,具有很好的參考價值,希望對大家有所幫助。也希望大家多多支持腳本之家
    2022-08-08
  • vue項目在打包時,如何去掉所有的console.log輸出

    vue項目在打包時,如何去掉所有的console.log輸出

    這篇文章主要介紹了vue項目在打包時,如何去掉所有的console.log輸出,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue模仿實現(xiàn)京東商品大圖放大鏡效果

    Vue模仿實現(xiàn)京東商品大圖放大鏡效果

    這篇文章主要為大家介紹了Vue實現(xiàn)京東網(wǎng)站商品放大鏡效果示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • vue組件實現(xiàn)首次加載就觸發(fā)watch

    vue組件實現(xiàn)首次加載就觸發(fā)watch

    這篇文章主要介紹了vue組件實現(xiàn)首次加載就觸發(fā)watch方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 使用Vue的slot插槽分發(fā)父組件內容實現(xiàn)高度復用、更加靈活的組件(推薦)

    使用Vue的slot插槽分發(fā)父組件內容實現(xiàn)高度復用、更加靈活的組件(推薦)

    這篇文章主要介紹了使用Vue的slot插槽分發(fā)父組件內容實現(xiàn)高度復用、更加靈活的組件 ,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • Vue實現(xiàn)網(wǎng)頁轉PDF方法流程詳解

    Vue實現(xiàn)網(wǎng)頁轉PDF方法流程詳解

    在日常的工作中,有時候會碰到需要將某個網(wǎng)址網(wǎng)頁保存成為pdf的情況,這篇文章主要介紹了用Vue實現(xiàn)網(wǎng)頁轉PDF的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • vue3+vite兼容低版本的白屏問題詳解(安卓7/ios11)

    vue3+vite兼容低版本的白屏問題詳解(安卓7/ios11)

    這篇文章主要給大家介紹了關于vue3+vite兼容低版本的白屏問題的相關資料,還給大家介紹了vue打包項目以后白屏和圖片加載不出來問題的解決方法,需要的朋友可以參考下
    2022-12-12

最新評論

张家界市| 新闻| 冕宁县| 乐昌市| 凤庆县| 尖扎县| 彭阳县| 垫江县| 新源县| 昭觉县| 临夏县| 璧山县| 米易县| 彭水| 镇坪县| 龙胜| 阿勒泰市| 皮山县| 轮台县| 诸暨市| 五峰| 调兵山市| 蓬溪县| 当涂县| 赣榆县| 吉首市| 祁东县| 徐水县| 嘉峪关市| 上饶县| 漳浦县| 云南省| 当雄县| 聂拉木县| 山丹县| 通海县| 井研县| 泗阳县| 马鞍山市| 临沂市| 鄂温|