我了解如何控制publicPath
将基于process.env.NODE_ENV
变量。我的vue.config.js
按预期工作,但仅适用于production
和非production
环境。当我有qa
、dev
和stage
环境时,我将如何控制publicPath
变量?
注意:我已经添加了我的.env.qa
,.env.dev
和.env.stage
。
vue.config.js:
module.exports = {
publicPath: process.env.NODE_ENV === 'production'
? '/ProductionEnv/'
: '',
"transpileDependencies": [
"vuetify"
]
}
我会像这样计算vue.config.js
中的publicPath
:
function getPublicPath() {
switch (process.env.NODE_ENV) {
case 'production': return '/ProductionEnv/'
case 'qa': return '/QaEnv/'
case 'dev': return '/DevEnv/'
case 'stage': return '/StageEnv/'
default: return ''
}
}
module.exports = {
publicPath: getPublicPath()
}
如果你需要基于环境的条件行为,你可以使用一个函数并改变其中的值,或者返回一个将被合并的对象。
// vue.config.js
module.exports = {
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
// mutate config for production...
} else {
// mutate for development...
}
}
}
查看更多:configureWebpack