vue 按照条件切换主题本地可以,打包不管用

if(){
console.log('深色模式')
require('./assets/style/theme-dark.less')
} else {
console.log('浅色模式')
require('./assets/style/theme-default.less')
}
console.log 打印的是深色模式,但是加载的样式还是浅色的
业务需求是兼容微信的深色模式。然后想按照条件加载样式表,本地可以,打包完不行了。打包完一直显示浅色模式
使用的是cli3
不知道vue.config需要配置什么吗

阅读 1.8k
2 个回答

应该是require不支持判断语句的问题,打包的时候两个require都会被提到最顶端一起打包。F12看看你的打包后的代码是不是两段Less都有。

我也遇到了类似的问题,我这边主要的原因是css打包的时候,都打包在一起了,最后一个css主题样式覆盖了其他样式,只要修改webpack.prod.conf.js重新打包就可以了。

推荐问题