最近准备把公司使用的node版本进行升级,我们的UI库是基于ElementUI基础上进行开发的,在升级node过程中遇到一些问题,记录如下
尝试1:直接升级node版本
发现一些c++的编译报错,如下图
尝试2: 卸载node-sass
,安装sass
在网上进行了一些搜索,https://zhuanlan.zhihu.com/p/168018388
文章中使用了别名,相当于引用的是node-sass
但是实际使用的是sass
。
全局搜索了下node-sass
,然后发现UI库中还使用了gulp-sass
,该包内部使用了node-sass
。所以单单修改别名还是不行的,得把gulp-sass
也要解决掉。
最终解决方案
在elementUI的issue中看到看到node-sass
升级到sass
的讨论,最终看到相关的pr。根据该Pr进行了升级。
升级了sass和sass-loader,并且将gulp-sass
升级到gulp-dart-sass
,还需要修改相关语法。
相关语法主要是
- /deep/ -> ::v-deep
- 除法
/
修改为math.div
并使用@use "sass:math";
参考:
- 本文链接:https://harry-qi.github.io/2022/02/15/node-sass%E5%8D%87%E7%BA%A7%E5%88%B0sass/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。