我在做一个页面加载loading 效果的时候,改了很多样式,有全局的有私有的,以至于到最后把自己都搞乱了不知道改过什么东西,最后在build打包上线后出现了部分样式显示错乱(主要是全局样式),影响到了整个页面,当时都懵了,怎么也找不到问题。墨迹到了晚上九点钟。在网上查了很多资料。最终解决,特意在这里记录一下,发现网上关于这种问题的回答挺少的所以我找了好久,希望我的回答可以贡献一点力量,让同样遇到这个问题的小伙伴不迷茫。
直接上代码:

其实只需简单两步就OK。

1, 在build 文件夹下 webpack.prod.conf.js 中 plugins 数组 注释掉这句话
在这里插入图片描述
2, 同样在utils.js 中 cssLoader 中加上 minimize: true
在这里插入图片描述

这样再build打包试试,遇到这种问题的主要原因是:build在打包的时候会把js,css文件一起打包这样就会把重复的样式覆盖掉,所以我在app.vue里面写的全局样式就遭了殃,被玷污了!哈哈。

另外还有一些其他的办法解决编译后样式不生效的问题。在这里我一并说一下,上面所说的只是我遇到的状况,也会有一些其他的场景也会导致样式不生效。
1,main.js 入口文件样式引入要有西安后续顺序,样式文件应该稍微往前放放,比如像这样,把app 和router 放在后面去。
在这里插入图片描述
2,在组件中的样式加上 scoped 属性,让样式只在当前组件中生效。
在这里插入图片描述
3,最后一个方法就比较费力了,是个体力活。找到被污染的样式手动修改,权重不够提高权重多嵌套几层选择器,也可以加上!important

以上就是所有内容了,希望对你有帮助。

Logo

前往低代码交流专区

更多推荐