node-sass 迁移至 dart-sass 踩坑实录

💡 原文中文,约3700字,阅读约需9分钟。
📝

内容提要

更新项目依赖,弃用已停止维护的node-sass,改用dart-sass以简化安装和提高兼容性。将node.js升级至14版本,保持webpack和sass-loader版本不变,解决sass语法错误并替换不支持的深度选择器。最终更新node、vue-loader和sass版本,确保项目正常运行。

🎯

关键要点

  • 更新项目依赖,弃用已停止维护的node-sass,改用dart-sass以简化安装和提高兼容性。
  • 将node.js升级至14版本,保持webpack和sass-loader版本不变。
  • node-sass在windows下安装麻烦,需要同时安装python2和Microsoft Visual C++。
  • node-sass的安装成功率在特定网络环境下不高。
  • webpack 3支持的最高sass-loader版本为7,若sass-loader@^7支持dart-sass,则不需更新webpack。
  • 最终决定使用sass@^1.22.12版本,更新webpack配置以支持dart-sass。
  • 批量替换不支持的深度选择器/deep/为::v-deep。
  • 修复项目中的sass语法错误,确保dart-sass能够正常编译。
  • 更新vue-loader至15版本以支持::v-deep语法,vue-loader v16仅支持Vue 3。
  • 最终更新情况:node@^12升级至node@^14,vue-loader@^14升级至vue-loader@^15,node-sass@^4替换为sass@^1.22.12,其余依赖版本维持不变。
➡️

继续阅读