中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

vue-cli3中如何使用mockjs

發布時間:2022-01-26 16:35:21 來源:億速云 閱讀:432 作者:iii 欄目:開發技術

這篇文章主要介紹“vue-cli3中如何使用mockjs”,在日常操作中,相信很多人在vue-cli3中如何使用mockjs問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vue-cli3中如何使用mockjs”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、安裝

安裝代碼如下:

yarn add mockjs
// 或者
npm i mockjs -S

二、搭建mock環境

1、我們通過在根目錄中新建mock目錄,在這個目錄中我們新建一個index.js文件和modules文件夾。

index.js代碼如下:

// index.js
const Mock = require('mockjs');
const mockFiles = require.context('./modules', false, /\.js$/);
let mocks = [];

mockFiles.keys().forEach(key => {
  mocks.push(...mockFiles(key))
})

mocks.forEach(item => {
  Mock.mock(item.url, item.type, item.response)
})

在modules文件夾中的user.js代碼如下:

// modules/user.js
const userList = {
    url: "/user/list",
    type: "get",
    response: () => {
        return {
            code: 20000,
            data: [
                {
                    "id": 1,
                    "username": "zhoujielun",
                    "password": "123456"
                },
                {
                    "id": 2,
                    "username": "guojingming",
                    "password": "666666"
                },
            ]
        }
    }
}

const userList1 = {
    url: "/user/list1",
    type: "get",
    response: () => {
        return {
            code: 20000,
            data: [
                {
                    "id": 1,
                    "username": "zhoujielun",
                    "password": "123456"
                },
                {
                    "id": 2,
                    "username": "guojingming",
                    "password": "666666"
                },
            ]
        }
    }
}

module.exports = [
    userList,
    userList1,
]

2、在main中引入,代碼如下:

require("../mock");

當我們完成到這邊的時候其實環境已經搭建的差不多了,下面我們在進行優化。

在我們的根目錄中新建個.env文件:

// .env
VUE_APP_MOCK=true

完成之后我們在進行修改一下main.js

// VUE_APP_MOCK的值為true,并且在開發環境下
if (process.env.VUE_APP_MOCK && process.env.NODE_ENV === 'development') {
  require("../mock");
}

到這一步我們就完成了mock的數據環境搭建了。


三、使用

我們在使用的使用需要注意的是在接口中的urltype要與我們的mock中定義的相同。代碼如下:

// request.js
import axios from 'axios'
import { Message } from 'element-ui'

// create an axios instance
const service = axios.create({
    baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
    // withCredentials: true, // send cookies when cross-domain requests
    timeout: 5000 // request timeout
})

// request interceptor
service.interceptors.request.use(
    config => {
        return config
    },
    error => {
        // do something with request error
        console.log(error) // for debug
        return Promise.reject(error)
    }
)

// response interceptor
service.interceptors.response.use(
    response => {
        const res = response.data;
        return res;
    },
    error => {
        console.log('err' + error) // for debug
        Message({
            message: error.message,
            type: 'error',
            duration: 5 * 1000
        })
        return Promise.reject(error)
    }
)

export default service

api層中代碼:

// index.js
const moduleFiles = require.context('./modules', false, /\.js$/);
let apis = {};

moduleFiles.keys().forEach(key => {
    // 獲取文件名,將 ./ 和 .js 替換為空, 最終格式  common
    const fileName = key.replace(/(\.\/|\.js)/g, '');
    // 填充數據
    apis[fileName] = moduleFiles(key);
})

export default {
    ...apis
}
// modules/user.js
import request from '@/utils/request'
export function getList() {
    return request({
        url: '/user/list',
        method: 'get'
    })
}

完成之后我們在views層調用api接口,代碼如下:

import api from "@/api";

api.user.getList().then(res => { console.log(res) });

到此,關于“vue-cli3中如何使用mockjs”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

张家界市| 乳山市| 大庆市| 青海省| 社会| 额济纳旗| 宁河县| 津南区| 梁平县| 潍坊市| 福鼎市| 巩留县| 罗江县| 厦门市| 富平县| 东平县| 营口市| 扶绥县| 文水县| 商城县| 同仁县| 吴江市| 肥城市| 汨罗市| 保山市| 西乌| 托克逊县| 张家口市| 三门县| 永城市| 隆安县| 年辖:市辖区| 丹巴县| 凤凰县| 新蔡县| 郧西县| 德兴市| 凌源市| 和田市| 巫山县| 绥化市|