将node-sass升级为dart-sass,踩坑实录

本文记录了将项目中node-sass升级为dart-sass的过程,包括卸载node-sass,安装dart-sass及其遇到的版本兼容问题,如sass-loader与webpack版本匹配,以及sass-loader配置选项的变化。在解决过程中,还遇到了循环引入导致的编译错误,最终通过修改webpack配置和处理引入语句解决了所有问题。在项目启动后,由于采用微前端架构,一个子应用出现错误,通过调整代码或重启项目得以修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 首先将node-sass卸载
    npm uninstall node-sass
    
  2. 安装dart-sass
    这里已经是踩坑第一步了,实际上不能理所当然的觉得是 npm install dart-sass ,因为虽然dart-sass名确实为dart-sass,但也是sass官方最开始为了区分node-sass来作出的一个命名,而后node-sass就已经被完全弃用,因而dart-sass也被弃用,统一使用sass来作为dart-sass。
    在这里插入图片描述
    因此,此步正确做法如下
    npm install sass -D
    
  3. 在安装完正确版本的dart-sass以后,出现了无法编译的问题,苦苦找寻感觉是sass-loader版本过久无法编译,于是重新安装sass-loader
npm install sass-loader -D
  1. 在安装完全套最新的sass后,差点以为就成功了,然而却出现了 TypeError: this.getOptions is not a function 这个错误。原来是sass-loader v11以后需要webpack v5才能兼容,于是只能将sass-loader降级为v10
npm install sass-loader@^10 -D
  1. 在安装完合适的sass-loa
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值