mockjs 在项目中vue项目中使用

一、为什么要使用mockjs

总结起来就是在后端接口没有开发完成之前,前端可以用已有的接口文档,在真实的请求上拦截ajax,并根据mockjs的mock数据的规则,模拟真实接口返回的数据,并将随机的模拟数据返回参与相应的数据交互处理,这样真正实现了前后台的分离开发。

二、在vue的项目中怎么去使用mockjs

1、下载mockjs

npm install mockjs --save

2、使用mockjs

2.1在项目目录中新建mock/mockServer.js  模拟服务端

 1 import Mock from ‘mockjs‘
 2 const swipes = [
 3   {
 4     imgUrl:"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556531040198&di=c6dabc6bb5c6524f9b77ceded00d1fce&imgtype=0&src=http%3A%2F%2Fi3.hexun.com%2F2019-04-28%2F196992413.jpg"
 5   },
 6   {
 7     imgUrl:"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556531040180&di=0feae9ec159834591880d72c34137235&imgtype=0&src=http%3A%2F%2Fm1080.com%2Fupimg%2Fzyzp1%2F145186.jpg"
 8   },
 9   {
10     imgUrl:"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556531040164&di=b228224bb92c8baa6fbfa1ac6d31398c&imgtype=0&src=http%3A%2F%2Fimg.smzy.com%2Fimges%2F2017%2F0510%2F20170510101016609.jpg"
11   }
12 ];
13 const patients =[
14   {
15     id:‘1‘,
16     title:‘张大爷‘,
17     label:‘男‘,
18     path:‘/patient‘,
19     imgUrl:‘../../static/images/20170622131955_h4eZS.thumb.700_0.jpeg‘
20   },
21   {
22     id:‘2‘,
23     title:‘李大爷‘,
24     label:‘男‘,
25     path:‘/patient‘,
26     imgUrl:‘../../static/images/20170622131955_h4eZS.thumb.700_0.jpeg‘
27   },
28   {
29     id:‘3‘,
30     title:‘张奶奶‘,
31     label:‘女‘,
32     path:‘/patient‘,
33     imgUrl:‘../../static/images/20170622131955_h4eZS.thumb.700_0.jpeg‘
34   },
35   {
36     id:‘4‘,
37     title:‘李大爷‘,
38     label:‘男‘,
39     path:‘/patient‘,
40     imgUrl:‘../../static/images/20170622131955_h4eZS.thumb.700_0.jpeg‘
41   },
42   {
43     id:‘5‘,
44     title:‘王奶奶‘,
45     label:‘女‘,
46     path:‘/patient‘,
47     imgUrl:‘../../static/images/20170622131955_h4eZS.thumb.700_0.jpeg‘
48   }
49 ];
50 Mock.mock(‘/swipes‘,swipes);
51 Mock.mock(‘/patients‘,patients);
52 Mock.mock("/patient", "post", (options)=>{
53   const jsonObj = eval(‘(‘ + options.body + ‘)‘);
54   const patient = patients.filter(p=>p.id == jsonObj.pid);
55   return patient[0];
56 });

2.2在main.js项目全局文件中引入mockServer

1 import ‘./mock/mockServer‘ //加载mockServer

2.3前端发送ajax去请求mockServer 的 数据

 1 /*
 2 ajax请求函数模块
 3 返回值: promise对象(异步返回的数据是: response.data)
 4  */
 5 import axios from ‘axios‘
 6 export default function ajax (url, data={}, type=‘GET‘) {
 7
 8   return new Promise(function (resolve, reject) {
 9     // 执行异步ajax请求
10     let promise
11     if (type === ‘GET‘) {
12       // 准备url query参数数据
13       let dataStr = ‘‘ //数据拼接字符串
14       Object.keys(data).forEach(key => {
15         dataStr += key + ‘=‘ + data[key] + ‘&‘
16       })
17       if (dataStr !== ‘‘) {
18         dataStr = dataStr.substring(0, dataStr.lastIndexOf(‘&‘))
19         url = url + ‘?‘ + dataStr
20       }
21       // 发送get请求
22       promise = axios.get(url)
23     } else {
24       // 发送post请求
25       promise = axios.post(url, data)
26     }
27     promise.then(function (response) {
28       // 成功了调用resolve()
29       resolve(response.data)
30     }).catch(function (error) {
31       //失败了调用reject()
32       reject(error)
33     })
34   })
35 }

 1 /*
 2 包含n个接口请求函数的模块
 3 函数的返回值: promise对象
 4  */
 5 import ajax from ‘./ajax‘;
 6
 7 //1、获取swipe的图片列表
 8 export const reqSwipes = ()=>ajax(`/swipes`,);
 9
10 //2、获取所有病人信息列表
11 export const reqPatients = ()=>ajax(`/patients`);
12
13 //3、根据pid获取病人信息
14 export const reqPatientByPid = (pid)=>ajax(`/patient`,{pid},"POST");

原文地址:https://www.cnblogs.com/flywong/p/10906042.html

时间: 2024-09-30 18:12:57

mockjs 在项目中vue项目中使用的相关文章

Node.js-Webstrom创建Vue项目(Vue项目初始化)

我犯的错误:作为vue小白,并不知道还要单独去创建初始的vue项目,于是自己在webstrom中建了一个Empty Project, 在其中新增了一个js文件,就开始import Vue from "vue"了.运行后自然就报错了:SyntaxError: Unexpected identifier,被自己蠢哭~ 下面进入正题,vue项目初始化步骤如下: 1.默认你已经安装好了Node.js.WebStrom.npm.vue/vue-cil.webpack. 2.win+R→cmd打开

Vue-cli 构建项目 的`.vue`组件中, scss中添加背景图路径问题

[解决方法]: 更改build/utils.js文件中的 ExtractTextPlugin 的 options配置. if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, publicPath: '../../', //注意: 此处根据路径, 自动更改 fallback: 'vue-style-loader' }) } else { return ['vue-style-loader'].concat(l

cordova+vue 项目打包成Android(apk)应用

现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只需要一条命令就可以完成打包. 1.安装cordova这一步的前提是已经完成安装node和npm,如果没有安装的话,请先完成node和npm的安装.node安装:直接进入官网https://nodejs.org/zh-cn/,下载最新版本安装.安装之后在命令行中使用"node -v" 检查安

vue — 创建vue项目

vue - 创建vue项目 创建vue项目 在程序开发中,有三种方式创建vue项目,本地引入vuejs.使用cdn引入vuejs.使用vue-cli创建vue项目.其中vue-cli可以结合webpack打包工具使用,大大方便了开发步骤,使用广泛. vue本地引用 在官网下载vue.js,通过script标签引入.开发版本:https://vuejs.org/js/vue.js 包含完整的警告和调试模式生产版本:https://vuejs.org/js/vue.min.js 删除了警告,30.9

Vue ---- 项目与环境搭建 初始项目结构 Vue生命周期

目录 1. vue环境搭建 2. Vue项目搭建 pycharm配置并启动vue项目 3 . 认识项目 1. vue项目目录结构 2. 配置文件:vue.config.js 3. main.js 4. vue文件 5.App.vue 4.Vue生命周期(重点!!!!!!!!!) main.js render渲染函数 补充: 总结: 1. vue环境搭建 """ 类似于 vue -- Django node -- python npm -- pip ""&q

vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境

目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目的请求生命周期 三.vue项目中的功能 1. 路由相关的标签和方法 2. 路由配置 (1)无路由传参的路由配置方法 (2)路由传参的路由配置方法 3. 页面的跳转功能 (1)标签跳转 (2)逻辑跳转(路由跳转) 四.JS原型 五.vue组件生命周期钩子 六.vue的ajax插件:axios 七.vu

Vue项目的建立和目录的简单介绍

一.介绍 Vue是前端三大框架之一,另外两个分别是react.angular.其设计模式是MVVM的设计架构模式. 二.安装 2.1 node.js安装 在安装vue之前的时候,需要安装node.js.去官网下载http://nodejs.cn/,然后将其添加到系统环境中,在使用如下的指令进行查询 # 查询指令 node -v 结果 2.2 配置镜像源 配置镜像源可以加快安装的速度,使用如下的指令进行添加,类似于Python中的pip配置. # 在npm中配置镜像源的命令 npm config

vue项目中使用mockjs模拟接口返回数据

Mock.js 是一个模拟数据生成器,利用它,可以拦截ajax请求,直接模拟返回数据,这样前后端只要约定好数据格式,前端就不需要依赖后端的接口,可以直接使用模拟的数据了. 网上介绍mock的教程也较多,不过大多数看的比较模糊.其实使用起来非常简单,这里介绍在Vue工程中使用Mockjs,并且实现开发和生产配置化. 一.安装 cnpm install --save-dev mockjs 二.引入 为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置 //

Vue 项目中使用 jsPlumb

jsPlumb 介绍 jsPlumb 是一个强大的 JavaScript 连线库,它可以将 html中 的元素用箭头.曲线.直线等连接起来,适用于开发 Web 上的图表.建模工具.流程图.关系图等. jsPlumb 参考网站 博客园:http://www.cnblogs.com/leomYili/p/6346526.html?utm_source=itdadao&utm_medium=referral 官网:https://www.jsplumbtoolkit.com/ 安装 jsPlumb v