Vue项目中的mock.js的使用以及基本用法和ES6的新增方法

目录

1. mockjs

1.1 mockjs介绍

1.2 mockjs使用步骤

1.2.1 安装mockjs依赖

1.2.2 在项目中引入mockjs

1.2.3 创建目录和文件

1.2.4 为每个组件准备模拟数据

1.2.5 测试

1.2.6 前端调试

1.2.7 mockjs生成随机响应数据

1.2.8 根据不同响应,给出不同提示

2. 登录注册间的跳转

2.1 加入登录及注册按钮

2.2 增加注册组件

2.3 配置路由

3. 系统首页

3.1 准备

3.2 Main.vue

3.3 配置路由

3.4 编辑登录组件

3.5 顶部组件显示折叠或展示图标

3.6 实现左侧栏折叠效果


1. mockjs

1.1 mockjs介绍

Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。众所周知Mock.js因为两个重要的特性风靡前端:

  • 数据类型丰富
    支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。

  • 拦截Ajax请求
    不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。

官网http://mockjs.com

注:easy-mock,一个在线模拟后台的数据平台

1.2 mockjs使用步骤

1.2.1 安装mockjs依赖

# -D表示只在开发环境中使用
npm install mockjs -D

1.2.2 在项目中引入mockjs

        为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置。
        在config目录里面有两个配置文件,分别是
dev.env.js(开发环境),prod.env.js(生产环境)
开发环境配置如下

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  //增加配置
  MOCK:'true'
})

生产环境配置如下

module.exports = {
  NODE_ENV: '"production"',
  //新增mockjs配置
  MOCK:'false'
}

修改main.js:

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

//开发环境下才会引入mockjs,新增
//import是ES6标准中的模块化解决方案,require是node中遵循CommonJS规范的模块化解决方案
//后者支持动态引入,也就是require(${path}/xx.js)
process.env.MOCK && require('@/mock')
......

注意:import是ES6标准中的模块化解决方案,require是node中遵循CommonJS规范的模块化解决方案,后者支持动态引入,也就是require(${path}/xx.js)

1.2.3 创建目录和文件

1) 在src目录下创建mock目录,定义mock主文件index.js,并在该文件中定义拦截路由配置,/src/mock/index.js。
index.js内容如下:

//引入mockjs,npm已安装
import Mock from 'mockjs'

//引入封装的请求地址
import action from '@/api/action'

//全局设置:设置所有ajax请求的超时时间,模拟网络传输耗时
Mock.setup({
  //延时400s请求到数据
  // timeout: 400
  //延时200-400s请求到数据
  timeout: 200 - 400
})

1.2.4 为每个组件准备模拟数据

为每个组件(*.vue)准备模拟数据。然后导入到mock/index.js

mock/index.js中导入,设置请求url,模拟发送数据

。。。。。。
//将模拟数据导入到这里。
import loginData from '@/mock/json/login-mock.js'

//获取请求的url
let url = action.getFullPath("SYSTEM_USER_DOLOGIN");

//通过mockjs模拟发送请求
//url  请求url
//post 请求方式
//loginData  模拟数据
//mockjs会拦截发送的请求,并使用模拟数据充当真实返回的响应数据
//Mock.mock(url, "post", loginData);

//如果请求既可以是get又可以是post的请求方式可以使用如下方式:
Mock.mock(url, /post|get/i, loginData);

设置模拟数据,编辑login-mock.js

//为增加可读性loginData与mack/index.js中导入的名称对应
const loginData = {
  "success": true,
  "msg": "密码正确"
}

//将当前模块导出,导出后index.js才可以导入
export default loginData

1.2.5 测试

启动nodejs服务,关闭后台服务,测试登录。现在已经可以通过mockjs进行模拟数据测试了。<

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 项目使用 Office.js,你可以通过以下步骤进行: 1. 安装 Office.js 你可以通过 npm 安装 Office.js: ```bash npm install office-js ``` 2. 在 Vue 项目引入 Office.js 你可以在 Vue 组件引入 Office.js: ```javascript import * as Office from 'office-js' ``` 3. 初始化 Office.jsVue 项目,你需要在 `mounted` 钩子函数初始化 Office.js API,并指定一个回调函数以在 API 加载完成后执行。你可以使用 Vue 的 `this.$nextTick` 方法确保 Office.js API 已经加载完成。 ```javascript mounted() { this.$nextTick(() => { Office.initialize = (reason) => { console.log('Office.js API 已经初始化完成') } }) } ``` 4. 使用 Office.js API 在 Vue 项目,你可以像在普通 JavaScript 项目一样使用 Office.js API。例如,在一个 Vue 组件获取当前选定区域的文本数据: ```javascript methods: { async getSelectedText() { try { const result = await Office.context.document.getSelectedDataAsync(Office.CoercionType.Text) console.log('选定区域的文本是:', result.value) } catch (error) { console.error(error) } } } ``` 不过,当你在 Vue 项目使用 Office.js 时,你需要注意以下几点: - 由于 Vue 使用了虚拟 DOM,你需要使用 `this.$nextTick` 方法确保 Office.js API 已经加载完成。 - Office.js API 是异步的,你需要使用 `async/await` 或 Promise 等方法来处理异步操作。 - 在 Vue 组件,你可以使用 `methods` 定义 Office.js API 的使用方法。 希望这些能够帮助你在 Vue 项目使用 Office.js
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值