溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue項目中如何使用mock

發(fā)布時間:2021-11-22 09:11:13 來源:億速云 閱讀:102 作者:柒染 欄目:開發(fā)技術

本篇文章為大家展示了vue項目中如何使用mock,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Mock.js 是一款模擬數(shù)據(jù)生成器,旨在幫助前端攻城師獨立于后端進行開發(fā),幫助編寫單元測試。提供了以下模擬功能:

  • 根據(jù)數(shù)據(jù)模板生成模擬數(shù)據(jù)

  • 模擬 Ajax 請求,生成并返回模擬數(shù)據(jù)

  • 基于 HTML 模板生成模擬數(shù)據(jù)

第一步:

npm install mockjs // 安裝mockjs
npm install axios

第二步,在request.js中進行相關配置,request.js代碼如下:

import axios from 'axios'
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-urlencoded'
const http = axios.create()
 http.defaults.timeout = 3000
 http.interceptors.request.use(config => { // 請求攔截器配置 // 可不配置
    // do sth
    return config
}, error => {
    console.log(error)
    return Promise.reject(error)
})
 http.interceptors.response.use(response => { // 響應攔截器配置 // 可不配置
    // do something
    return response
}, error => {
    console.log(error)
    return Promise.reject(error)
})
 export function fetch(url, params) { // 封裝axios的post請求
    return new Promise((resolve, reject) => { // promise 用法,自行查閱
        axios.post(url, params).then(response => {
            resolve(response.data) // promise相關
        }).catch(error => {
            reject(error) // promise相關
        })
    })
}
 export default { // 暴露htto_mock方法,即后面頁面中用到的方法
    http_mock(url, params) {
        return fetch(url, params)
    }
}

第三步,在mock.js中進行相關配置,mock.js代碼如下:

import Mock from 'mockjs'
 const Random = Mock.Random
 var listData = function() {
    let _data = {
        status: 200,
        message: 'success',
        data: {
            total: 100,
            'rows|10': [{
            id: '@guid',
            name: '@cname',
            'age|20-30': 23,
            'job|1': ['前端工程師', '后端工程師', 'UI工程師', '需求工程師']
            }]
        }
    }
    return { _data }
}
// url為要攔截的請求地址  請求方式  請求數(shù)據(jù)(規(guī)則) (此處api會被mockjs攔截)
Mock.mock('http://route.showapi.com/60-27', 'post', listData())

vue項目中如何使用mock

第四步,在main.js中需引入mock.js即可

import mock from '@/http/mock'

第五步,在頁面中使用

import request from '@/http/request'
 export default {
    name: "FirstPage",
    created() {
        this.getData()
    },
    methods: {
        getData() {
             // 假裝要使用http_mock發(fā)送請求(mock自動攔截請求并生成數(shù)據(jù))
         // 此處第一個參數(shù)需要和Mock.mock()中的第一個參數(shù)一致
            console.log('請求開始')
            request.http_mock('http://route.showapi.com/60-27','api_id=63114&api_sign=3847b0').then(response => {
            console.log(response._data)
            })
       },
    }
}

效果如下:

vue項目中如何使用mock

上述內容就是vue項目中如何使用mock,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI