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知识库 -> Mockjs在vue中的使用 -> 正文阅读

[JavaScript知识库]Mockjs在vue中的使用

在这里插入图片描述

安装相关依赖

yarn add axios -S
yarn add mockjs -D
yarn add json5 -D

测试Mockjs

新建mock文件夹,新建testMock.js文件

const Mock = require('mockjs')

// 随机生成id
// let id = Mock.mock('@id')
// console.log(id)

// 模拟一个对象
let obj = Mock.mock({
  // 加不加括号都可以
  // 随机生成id
  id: '@id()',
  // 随机生成中文名字
  username: '@cname()',
  // 随机生成日期
  date: '@date()',
  // 生成图片 Random.image( size, background, foreground, format, text )
  avatar: "@image('200x200','#50B347','#fff','avatar')",
  // 描述
  desc: '@paragraph()',
  // IP地址
  ip: '@ip()',
  // email
  email: '@email()',
})
console.log(obj)

json文件中如果说存在注释文件和编辑器都会报错,我们采用json5格式来让json格式可以存在注释

安装JSON5 syntax插件

引入JSON5库来解析JSON5格式

在mock文件夹下,新建testJSON5.js

const fs = require('fs')
const path = require('path')
const JSON5 = require('json5')

var json = fs.readFileSync(path.join(__dirname, './userInfo.json5'), 'utf-8')
// 将json转换为对象
var obj = JSON5.parse(json)
console.log(obj)

Mock与Vue-cli结合

是否开启Mock

在项目根路径新建.env.development文件

MOCK = true   // 如果有后台接口了就改为false

在mock文件夹下,新建index.js

const fs = require('fs')
const path = require('path')
const Mock = require('mockjs')
const JSON5 = require('json5')

// 读取json文件
function getJsonFile(filePath) {
  // 读取指定json文件
  var json = fs.readFileSync(path.resolve(__dirname, filePath), 'utf-8')
  // 解析并返回
  return JSON5.parse(json)
}

// 返回一个函数
module.exports = function (devServer) {
  if (process.env.Mock == 'true') {
    // 监听http请求
    devServer.app.get('/user/userInfo', function (rep, res) {
      // 每次响应请求时读取mock data的json文件
      // getJsonFile方法定义了如何读取json文件并解析成数据对象
      var json = getJsonFile('./userInfo.json5')
      // 将json传入Mock.mock方法中,生成的数据返回给浏览器
      res.json(Mock.mock(json))
    })
  }
}

在vue.config.js配置(不同版本配置写法不一样)

Vue中使用Mock,解决因webpack高版本出现的vue.config.js配置问题:options has an unknown property ‘before‘._liuyi008的博客-CSDN博客_mockjs vue webpack

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    onBeforeSetupMiddleware: require('./src/mock/index.js')  //引入mock.js
  }
})

发起axios请求

<script>
import axios from 'axios'
export default {
  name: 'App',
  mounted() {
    axios.get('/user/userInfo').then(res => {
      console.log(res)
    }).catch(err => {
      console.log(err)
    })
  }
}
</script>

在这里插入图片描述
Mock.js具体使用语法:

Mock.js

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 18:55:10  更:2022-08-19 18:57:10 
 
开发: 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 10:05:52-

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