vue中控制mock在开发环境使用,在生产环境禁用方式


Posted in Vue.js onApril 06, 2022

vue控制mock在开发环境使用,在生产环境禁用

说下原因

mock拦截所有的axios请求,根据请求,做出相应的响应。平时前后端分离开发,我们使用mock获得相应的数据,但当和后端联调的时候,不禁用mock,就无法获得后端数据。

解决方案

第一步、我们设置mock在开发development环境可用,在生产production环境不可用。

在vue中通过设置main.js中的Vue.config.productionTip来决定模式。

默认为false是生产环境。我们将其设置为true即进入了开发环境,设置后,可在浏览器检查中看到You are runing Vue in development mode如下图:

vue中控制mock在开发环境使用,在生产环境禁用方式

第二步、我们在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。之前用过一次,但现在全忘了。所以在这里记录一下,以备不时之需。本文从项目建好后一步一步进行vue+mock的使用。

前期准备

1)新建一个vue项目

2)将helloworld.vue的内容删除,便于后期调试

3)新建一个按钮控件,绑定一个点击事件

vue中控制mock在开发环境使用,在生产环境禁用方式

安装axios和mock.js插件

使用npm方式安装

// 安装axios插件
npm install  axios --save
// 安装mockjs插件
npm install mockjs --save-dev

在main.js中引入

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    // 新增

编写mock.js

在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);
        });
    }
}

成功

vue中控制mock在开发环境使用,在生产环境禁用方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。 

Vue.js 相关文章推荐
vue+element实现动态加载表单
Dec 13 Vue.js
Vue 修改网站图标的方法
Dec 31 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
使用vue-element-admin框架从后端动态获取菜单功能的实现
Apr 29 Vue.js
Vue如何实现组件间通信
May 15 Vue.js
解读Vue组件注册方式
May 15 Vue.js
vue2实现provide inject传递响应式
May 21 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
Vue如何清空对象
Mar 03 Vue.js
vue使用echarts实现折线图
Mar 21 Vue.js
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
vue修饰符.capture和.self的区别
Apr 22 Vue.js
vue3使用vuedraggable实现拖拽功能
vue整合百度地图显示指定地点信息
vue中使用mockjs配置和使用方式
VUE使用draggable实现组件拖拽
Apr 06 #Vue.js
教你部署vue项目到docker
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 #Vue.js
vue中div禁止点击事件的实现
Apr 02 #Vue.js
You might like
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
laravel框架上传图片实现实时预览功能
2019/10/14 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python实现截屏的函数
2015/07/25 Python
python 默认参数问题的陷阱
2016/02/29 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
详解Python中for循环是如何工作的
2017/06/30 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
六行python代码的爱心曲线详解
2019/05/17 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
党员干部作风建设思想汇报范文
2014/10/25 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
如何利用React实现图片识别App
2022/02/18 Javascript