node-sass报错:
项目由于安装的node版本不同,安装依赖后导致项目运行失败并有报错问题。
Error: Rule can only have one resource source
(provided resource and test + include + exclude)
原因:
某些新版本的库要求 webpack@5,更新依赖时,根据依赖选择的规则,就以 webpack@5 作为主依赖安装。然而 @vue/cli 依赖 webpack@4,它自带的 webpack 配置无法兼容 webpack@5 ,于是就报错,不能继续编译。如果你也在使用 @vue/cli,那么请不要贸然升级 webpack@5。
改错方法:
1.删除webpack,重新装以前的版本:
npm uninstall webpack
npm install webpack@^4.0.0 --save-dev
2.根据自己node.js版本下载对应的node-sass版本
对应关系如图: (具体可以参考:GitHub - sass/node-sass: Node.js bindings to libsass)
比如我是node16 ,所以下载6.0版本:
卸载node-sass命令:npm uninstall node-sass -D
重新安装指定版本号:npm install node-sass@6.0.1
3.再根据node-sass6.0.1下载对应的sass-loader版本:
卸载sass-loader命令:npm uninstall sass-loader -D
重新安装指定版本号: npm install sass-loader@10.2.0
若不知道自己node版本号对应哪个sass-loader
请在优快云中搜索Node **版本 对应node-sass和sass-loader的版本号
IDEA中操作:
进入对应项目文件夹