vue项目使用/deep/语法报错并且无法启动项目最佳最完美解决
2023-08-07 本文已影响0人
小哪吒
vue项目使用/deep/语法报错
最近使用vue创建后台管理系统,在改变饿了么组件样式时,使用/deep/样式穿透 压根不生效,而且终端还会报错,之前可是可以随便用/deep/的,一下子就给整懵逼了~,先来看看报错信息长啥样:
![](https://img.haomeiwen.com/i6177826/217863bd0e40844c.png)
然后当你去各种百度会发现遇到同样问题的人还挺多,而且绝大多数出现的时间都是在2020年期间开始很多人出现这类问题:
![](https://img.haomeiwen.com/i6177826/3af047f570f3c38e.png)
然后最多的答案无非就是使用::v-/deep/ 来替换/deep/,确实有效,但是会不能使用scss嵌套写法的问题,不然样式嵌套的子元素样式不会生效如图
![](https://img.haomeiwen.com/i6177826/c41bd58f5a080618.png)
所以只能这样写
![](https://img.haomeiwen.com/i6177826/f9c5e298bf482e75.png)
然后心里一句草泥马路过~本来sass就是为了嵌套写法,提高样式编写速度,这么搞不难受吗,像我这种强迫症绝对受不了!
在我不断地试验之下最终得到一个最佳方案,那就是降低sass-loader版本:
首先卸载项目中的sass-loader
npm uninstall sass-loader
然后重新安装7.0.0版本的sass-loader
npm install sass-loader@7.0.0
安装完成之后终端开始报错,遇到事情不要慌,先拿出手机拍个照片,然后翻译一下报错是啥意思:
![](https://img.haomeiwen.com/i6177826/86934ec562ba581c.png)
万能的有道词典截屏翻译告诉你:
![](https://img.haomeiwen.com/i6177826/5bc340bdcd1f9f1e.png)
安装低版本的sass-loader需要引入node-sass依赖来支持,请执行下列代码
npm install node-sass
![](https://img.haomeiwen.com/i6177826/5b6815f4ce3543c1.png)
好了这就是更改loader版本的方法啦.开始愉快地使用/deep/样式穿透吧!
//注明
"node-sass": "^4.14.1"
"sass-loader": "7.0.0"