vue项目build打包后部分样式错乱的解决
作者:迷彩湃
vue项目build打包后部分样式错乱
我在做一个页面加载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
vue使用npm run build 打包样式与本地不符
问题描述
系统中集成Activiti 工作流时,发现编辑页面与本地开发环境显示不符,
本地开发环境:
服务器生产环境:
本地环境可以显示各种工具,服务器就很短。F12查看按钮其实是有的。
因为数据库和后台都是一致的,所以问题锁定在前端部分。
猜测是node版本问题,换版本也不行。用同事电脑打包也是一个效果。
由于个人开发久了有个老毛病,只看error 不看warning,相信很多老程序员都会有这个问题。
WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
意思是说有的文件超出限制。得到这个线索打开度娘翻到一个帖子复制粘贴大法
configureWebpack: config => { // 为生产环境修改配置... if (process.env.NODE_ENV === 'production') { config.mode = 'production'; // 打包文件大小配置 config.performance = { maxEntrypointSize: 10000000, maxAssetSize: 30000000 } } },
重新打包后警告消失发布服务器问题解决
通往成功的路没有捷径。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。