关于vue.config.js里面针对mockjs 进行判断

来源:9-3 axios 基本用法讲解

lipapa

2020-10-29

process.env.VUE_APP_MOCK 我在这里添加的状态 如果是true 就用before: require(’./mock/mock-server.js’) ,关键是devServer:{ } 进行if判断就报错。。。
`onst MockJs = !process.env.VUE_APP_MOCK || false

module.exports = {

publicPath: ‘/’,
outputDir: ‘dist’,
assetsDir: ‘static’,
// lintOnSave: process.env.NODE_ENV === ‘development’,
lintOnSave: false,
productionSourceMap: false,
devServer: {
//可以外网访问
disableHostCheck: true,
port: port,
open: true,
overlay: {
warnings: false,
errors: true
},
if(MockJs) {
before: require(’./mock/mock-server.js’)
},
proxy: {
[process.env.VUE_APP_BASE_API]: {
target: http://0.0.0.0/,
changeOrigin: true,
pathRewrite: {
[’^’ + process.env.VUE_APP_BASE_API] : ‘’
}
}
}
},`
我想根据不通情况 来判断是否要用mockjs ,请问怎样在这里区分,process.env.VUE_APP_MOCK 可以拿到这里的值

写回答

2回答

扬_灵

2020-10-30

同学你好,你可以参考下面这种方式

// 定义一个新的函数用来设置中的配置
function newDevServer(){
let newObject = {
port: port,
open: true,
overlay: {
warnings: false,
errors: true
},
}
if(process.env.VUE_APP_BASE_API){
newObject.proxy={
[process.env.VUE_APP_BASE_API]: {
target: `http://localhost:${port}/mock`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
},
}
newObject.before = require('./mock/mock-server.js');
}
return newObject
}
// 在使用时直接调用函数获取返回值devServer: newDevServer(),


0
1
lipapa
谢谢老师 ^ ^
2020-11-05
共1条回复

扬_灵

2020-10-29

同学你好,可以把项目上传带github或是码云这些代码托管平台,把地址发我一下,我在本地帮你看一下。

0
3
lipapa
回复
扬_灵
有参照么。我按照这样弄语法就报错了
2020-10-30
共3条回复

Vue Element+Node.js开发企业通用管理后台系统

基于Element的中后台课程,一套中小型企业通用的后台管理系统

2829 学习 · 1714 问题

查看课程