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 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
在Vue中使用mockjs代码实例
Nov 25 Vue.js
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
vue中三级导航的菜单权限控制
Mar 31 Vue.js
Vue实现下拉加载更多
May 09 Vue.js
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 Vue.js
Vue如何清空对象
Mar 03 Vue.js
vue如何清除浏览器历史栈
May 25 Vue.js
el-table-column 内容不自动换行的解决方法
Aug 14 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
PHP UTF8编码内的繁简转换类
2009/07/20 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
ES6中Class类的静态方法实例小结
2017/10/28 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
定制FileField中的上传文件名称实例
2017/08/23 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
美国在线家具网站:GDFStudio
2021/03/13 全球购物
高三毕业生自我鉴定
2013/12/20 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
公司停电通知
2015/04/15 职场文书
护理工作心得体会
2016/01/22 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技