vue中使用mock的常用方式是怎样的
Admin 2022-09-09 群英技术资讯 591 次浏览
mock拦截所有的axios请求,根据请求,做出相应的响应。平时前后端分离开发,我们使用mock获得相应的数据,但当和后端联调的时候,不禁用mock,就无法获得后端数据。
第一步、我们设置mock在开发development环境可用,在生产production环境不可用。
在vue中通过设置main.js中的Vue.config.productionTip来决定模式。
默认为false是生产环境。我们将其设置为true即进入了开发环境,设置后,可在浏览器检查中看到You are runing Vue in development mode如下图:
第二步、我们在config/dev.env.js和config/prod.env.js中设置变量。相当于同一个变量名,在不同的模式下,有不同的值。
// dev.env.js下的配置。
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
MOCK: true //开发环境使用mock
})
// prod.env.js下的配置
module.exports = {
NODE_ENV: '"production"',
MOCK: false // 生产环境禁用mock
}
同理,如果有其他在生产环境和开发环境取值不同的同名变量,可以定义在相应的文件中,如在axios请求时,不同环境有不同的baseURL,即可以设置。
第三步、在main.js中设置process.env.MOCK && require("./mock/index.js")。process.env.MOCK这句就是判断刚才设置的值,如果是true,才会执行语句引入mock,如果是false,则后面的语句不执行,即不引入mock。
近期在学习Vue,碰到前端需要数据,自己手敲太麻烦,页面也不美观,于是想到了用mock。之前用过一次,但现在全忘了。所以在这里记录一下,以备不时之需。本文从项目建好后一步一步进行vue+mock的使用。
1)新建一个vue项目
2)将helloworld.vue的内容删除,便于后期调试
3)新建一个按钮控件,绑定一个点击事件
使用npm方式安装
// 安装axios插件
npm install axios --save
// 安装mockjs插件
npm install mockjs --save-dev
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import axios from 'axios' // 新增
Vue.prototype.$axios = axios // 新增
在src下新建mock文件,并新建文件mock.js。代码编写详细可参考mock.js官网
下面给出简单的示例代码:
import Mock from 'mockjs' // 引入mockjs
Mock.mock('/api/test',{
data: {
test: "test"
}
})
在helloworld中编写点击事件
methods: {
test(){
this.$axios({
method: 'get',
url: "/api/test"
}).then(function(response) {
console.log(response)
})
.catch(function(error) {
console.log(error);
});
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在使用element-ui的时候,有一个常用的组件,那就是el-popover,本文就介绍一下elementui的el-popover修改样式不生效的解决方法,感兴趣的可以了解一下
目录打包部署后默认路由不正确问题描述解决方案vue打包后路径不对对于背景图片不显示的问题动画无法运行小图标没了打包部署后默认路由不正确问题描述vue项目本地开发的时候默认路由没问题,例如redirect:/index但是部署以后,服务器上默认路由不正确,现在遇到的问题是,会默认跳转到login页面,前提项目没有做路由权
说明: el-table有一个表格一级数据和二级数据显示的是一样的,像这种就可以用递归实现。数据结构是这样子的:tableData:[{name: Lucy,age: 18,mobile: 11111111111,type: 1,friends:[{name: Lucy-friend1,age: 16,mobile:
这篇文章给大家分享的是一些JavaScript优化技巧。小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,对大家学习或工作都有一定的帮助,接下来跟随小编一起了解看看吧。
利用nodejs实现:逐行读写(从一个文件逐行复制到另外一个文件);逐行读取、处理和写入(读取一行,处理后,写入另一个文件)1.所需要的模块:fs,os,readline2.具体实现:a.功能的实现:readWriteFileByLine.jsvarfs=require('fs-extra');varos=require('os');varrl=requir
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008