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

作者:犹有傲霜枝 时间:2024-05-21 10:15:06 

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在开发环境使用,在生产环境禁用方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。 

来源:https://blog.csdn.net/qq_41009742/article/details/90613114

标签:mock,开发环境,生产环境,禁用
0
投稿

猜你喜欢

  • python图像处理-利用一行代码实现灰度图抠图

    2021-03-16 10:40:49
  • Pandas实现DataFrame按行求百分数(比例数)

    2022-10-23 10:49:01
  • 前端开发中一些常用技巧总结

    2010-07-18 13:13:00
  • Python中xlsx文件转置操作详解(行转列和列转行)

    2022-02-18 03:36:34
  • javascript数组去重方法总结(推荐)

    2024-04-17 10:31:22
  • 最简短的拖动对象js代码实例

    2007-10-09 13:33:00
  • Data Source与数据库连接池简介(JDBC简介)

    2024-01-26 03:59:45
  • 开启SQLSERVER数据库缓存依赖优化网站性能

    2024-01-26 18:05:20
  • python中playwright结合pytest执行用例的实现

    2022-12-13 14:28:58
  • CSS设计之如何让数字字母自动换行

    2007-10-19 15:12:00
  • python重要函数eval多种用法解析

    2023-02-08 20:16:46
  • WEB2.0网页制作标准教程(5)head区的其他设置

    2007-11-13 13:28:00
  • vue.js的vue-cli脚手架中使用百度地图API的实例

    2024-05-05 09:07:59
  • python实现给微信公众号发送消息的方法

    2021-08-25 23:44:57
  • 一步步教你配置MySQL远程访问

    2024-01-16 13:07:26
  • Linux环境下MySQL-python安装过程分享

    2024-01-15 12:50:41
  • Python中使用Opencv开发停车位计数器功能

    2022-04-27 17:26:44
  • Python操作MySQL数据库实例详解【安装、连接、增删改查等】

    2024-01-21 15:55:47
  • 五大提高ASP运行效率的技巧

    2007-09-20 13:15:00
  • Python实现的简单线性回归算法实例分析

    2021-06-05 17:16:12
  • asp之家 网络编程 m.aspxhome.com