vue 安装使用mockjs

本文详细介绍了如何在Vue项目中使用MockJS来模拟接口数据,包括安装、创建mock文件、在main.js中注册、定义接口及在页面上使用的方法。MockJS能够帮助开发者在后端接口未完成时进行前端功能的开发,提高效率。

 使用 mockjs 的案例过程:

1. 安装

npm install axios -S
npm install mockjs --save-dev

 npm install --save 、--save-dev 、-D、-S 的区别与NODE_ENV的配置_jwl_willon的博客-优快云博客_npm save备注:<=> 意为等价于;1、npm install <=> npm i     --save   <=> -S          --save-dev  <=> -D       npm run start <=> npm start  // 对应"scripts"里的"start"命令      少敲几下键https://blog.youkuaiyun.com/jwl_willon/article/details/81054978

 npm安装包时 --save 和 --save-dev 的区别 - Yuan-yiming - 博客园以npm 安装 vue为例 1.npm install vue: 会把vue包安装到node_modules目录中; 不会修改package.json文件; 之后运行nphttps://www.cnblogs.com/yuanyiming/p/10735513.html

2. 创建 mockjs 文件

在 src/assets 目录下新建 mock 文件夹,mock 文件夹下新建 index.js(接口集合)、user.js(某个页面的接口)

3. 在 main.js中注册

import "@/assets/mock"
import axios from 'axios'
Vue.prototype.$axios = axios

4. 使用

4.1 user.js :造数据

import Mock from 'mockjs';

//模拟 用户 数据
const listUser = function(){
  const a = Mock.mock({
    'list|1-20':  [{
      'userId|+1': 0,
      'userName|1': ["张三","李四","鲍勃","丽丽","李阳","杨洋","王五","周星星","大仙","孤影"],
      'role|1':["系统管理员","操作人员","销售","平台管理者","仓库管理员","部长"],
    }]
  });
  return a;
}

//模拟 角色 数据
const listRole = function(){
  const a = Mock.mock({
    'list|6':  [{
      'roleId|+1': 0,
      'userName|1': ["张三","李四","鲍勃","丽丽","李阳","杨洋","王五","周星星","大仙","孤影"],
      'role|1':["系统管理员","操作人员","销售","平台管理者","仓库管理员","部长"],
    }]
  });
  return a
}

export default { listUser,listRole }

Mock.mock( template ),根据数据模板生成模拟数据。【mockJs文档二】 

 4.2 index.js:引用,定义接口名称

import Mock from 'mockjs';
import user from './user';

// 接口,第一个参数url,第二个参数请求类型,第三个参数响应回调
Mock.mock(new RegExp('/api/userList'), 'post', user.listUser);
Mock.mock("/api/roleList", 'post', user.listRole);

Mock.mock( rurl, template )

        记录数据模板。当拦截到匹配 rurl 的 Ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回。 【mockJs文档二】 

4.3 页面上使用:

methods:{
  initData(){
    //调用用户接口
    this.$axios.post('/api/userList').then(res=>{
      console.log("用户",res)
    });

    //调用角色接口
    this.$axios.post('/api/roleList').then(res=>{
      console.log("角色",res)
    });
  }
},
created(){
  this.initData();
}

 


 参考:

mockjs + vue 配置使用_hylcyz的专栏-优快云博客1、什么是mockjs前后端分离的过程中,会出现后端接口未写完,但前端需要一定的模拟数据来开发功能,此时就可用mockjs来提前模拟后端数据,MockJS可以实现多种数据类型的生成,基本上满足我们日常开发的大部分需求。2、mockjs的优势mockjs可随机生成大量的数据,而且它具有数据类型丰富,我们可以直接按照接口文档来开发,将相应的字段写好,在接口完成 之后,只需要改变请求地址即可。3、mockjs的使用安装npm install mockjs --save-dev..https://blog.youkuaiyun.com/u013483969/article/details/112878005vue中配置mock.js_zj25xy11的博客-优快云博客_vue安装mockjs1.在vue项目中安装mockjsnpm install mockjs --save-dev2.配置文件在根目录下建mock文件夹3.index.jsconst Mock =require('mockjs')const fs = require('fs')const path = require('path')// 用于被index.js进行调用function getJsonFile (filePath) { // 读取指定的json文件 const json =https://blog.youkuaiyun.com/zj25xy11/article/details/108074160

### 实现 Vue 2 登录功能中的 MockJS 接口 为了在 Vue 2 中使用 MockJS 来模拟登录接口,需先安装 `mockjs` 和配置其拦截特定 URL 的请求。通过这种方式可以在开发环境中轻松测试登录逻辑而无需依赖真实的后端服务。 #### 安装 MockJS 确保项目中已安装了 `mockjs` 库: ```bash npm install mockjs --save-dev ``` #### 配置 Mock 数据 创建一个新的 JavaScript 文件来定义所有的 API 路由和相应的响应数据。通常这个文件会被放置于项目的根目录下的 `/src/mock/api.js` 或者类似的路径内。 ```javascript // src/mock/api.js import Mock from 'mockjs' const Random = Mock.Random; Mock.mock(/\/login/, (req) => { let data; try { const body = JSON.parse(req.body); if(body.username === 'admin' && body.password === 'password'){ data = {"code": 200,"msg":"success","data":{"token":"fakeToken"}}; }else{ throw new Error('Invalid credentials'); } } catch(error){ data = {"code": 401,"msg":"invalid username or password"}; } return data; }); ``` 这段代码设置了当接收到匹配正则表达式的 POST 请求时的行为模式[^1]。这里假设了一个简单的验证过程:如果用户名为 admin 并且密码为 password,则返回成功状态码以及一个假的 token;否则返回错误信息。 #### 加载 Mock 模块 为了让上述设置生效,在入口文件 main.js 中加载此模块之前应该引入它: ```javascript // main.js import '@/mock/api'; ... new Vue({ ... }).$mount('#app') ``` 这样做的目的是让应用程序启动前完成所有必要的初始化工作,包括注册好所有的 mock 规则[^3]。 #### 组件内的调用方式 最后一步是在实际使用的组件里发起 AJAX 请求以触发这些预设好的行为。下面是一个简化版的例子展示了如何在一个方法里面发送登录请求并处理结果: ```html <template> <button @click="handleLogin">Log In</button> </template> <script> export default { methods: { handleLogin() { this.$axios.post('/login', { username: 'admin', password: 'password' }).then(response => { console.log('Response:', response.data); // 处理成功的回调函数 }).catch(error => { console.error('Error:', error.response ? error.response.data : error.message); // 错误处理 }); }, }, } </script> ``` 以上就是完整的流程说明,现在每当用户点击按钮执行 login 函数的时候就会向 /login 发送 post 请求,并得到预先设定的结果作为回应[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值