IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue3项目 --- Mock.js模拟数据测试 -> 正文阅读

[JavaScript知识库]Vue3项目 --- Mock.js模拟数据测试

作者:more-toolbox-new

1. npm 安装Mock.js

npm install mockjs

2. Main.js中引入Mock

import Mock from 'mockjs'
require('./mock')
createApp(App).use(Mock).mount('#app')

?3. 在src目录下新建一个 mock目录并创建index.js文件,用来配置mock

// 配置 mock 文件
// 首先引入Mock
const Mock = require('mockjs');

// 设置拦截ajax请求的相应时间
Mock.setup({
    timeout: '200-600'
});

let configArray = [];

// 使用webpack的require.context()遍历所有mock文件
const files = require.context('.', true, /\.js$/);
files.keys().forEach((key) => {
    if (key === './index.js') return;
    configArray = configArray.concat(files(key).default);
});

// 注册所有的mock服务
configArray.forEach((item) => {
    for (let [path, target] of Object.entries(item)) {
        let protocol = path.split('|');
        Mock.mock(new RegExp('^' + protocol[1]), protocol[0], target);
    }
});

4. 在mock目录下在创建一个js文件,我取名为article.js,用来配置自己在项目所需要的 模拟数据

let articleList = {
    code: 200,
    msg: 'success',
    data: { //数据
        total: 100, //模拟数据的页数,分页功能。 100条
        'rows|8': [{ //模拟每页有多少条数据。 每页8条。
            id: '@guid', //每页数据都是有id的。 随机生成数据. @是占位符,随机生成后不会重复。
            title: '@ctitle',  //前缀加 c 的意思为随机生成中文,否则是英文
            author: "@cname",  
            'job | 1': ['Web前端','Java工程师','架构工程师','数据库管理员'] // | 意思为在数组里随机抽取一个
        }]
    }
};
export default {
    'get|/article/list': articleList
}

5. 如果需要少量数据数据时,可以换种写法,比如

let articleList = [{
    id: 1,
    title: 'df',
    author: 'df',
    job: 'Web前端'
},{
    id: 2,
    title: 'fd',
    author: 'fd',
    job: 'Java工程师'
}]

export default {
    'get|/article/List':  option => {
        return {
            code: 200,
            msg: 'success',
            data: articleList
        };
    }

6.?也可以使用template返回

let articleList = {
    code: 200,
    msg: 'success',
    data: [{
        id: 1,
        title: 'zs',
        author: '23',
        job: '前端工程师'
    },{
        id: 2,
        name: 'ww',
        age: '24',
        job: '后端工程师'
    }]
};
let demoList2 = [{
    id: 1,
    name: 'zs',
    age: '23',
    job: '前端工程师'
},{
    id: 2,
    name: 'ww',
    age: '24',
    job: '后端工程师'
}];
export default {
    'get|/article/List': articleList,
    // 也可以这样写
    // 官方解释为:记录用于生成响应数据的函数。当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。
    'get|/article/List': (option) => {
        // 可以在这个地方对demoList2进行一系列操作,例如增删改
        // option 指向本次请求的 Ajax 选项集,含有 url、type 和 body 三个属性
        return {
            code: 200,
            msg: 'success',
            data: articleList
        };
    }
}

最后当我们在页面发起了ajax请求,路径是'/article/list',并且请求方式是get时,就会返回我们写好的mock数据。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 11:46:11  更:2021-08-27 11:47:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:18:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码