只在生产环境引入mockjs

2020-11-21  乐帮网

mock vuejs

开发过程中需要区分环境来决定是否启用mock,它本身并没有一个开关,只要引入则视为启动,及时你的规则里没有匹配到的url也会被重写,这一点儿就比较坑,我们可以通过框架的环境变量来动态实现是否启用,并不需要改动代码后再发布。

dev.env.js

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  MOCK: 'true'
})

prod.env.js

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  MOCK: 'false'
}

然后直接在main.js里面引用相关模块

if (process.env.MOCK) require('./mock')

或者简写如下:

process.env.MOCK && require('@/mock')

在这里注意引入的时候不能通过import方式,mock文件夹中包含所有模拟接口和url相关配置。
通过以上设置我发布的时候就不需要删除mock导入再发布了。

为什么在生产去掉mock呢?这个问题就是它引起的: 下载文件格式错误且乱码

 

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力