Vue项目使用sass-loader报错TypeError: this.getOptions is not a function
问题原因
该报错由sass-loader版本与项目内置webpack版本不兼容导致:
@vue/cli 4.5.x 版本内置webpack 4作为打包工具,而sass-loader v11及以上版本仅支持webpack 5运行环境,在webpack 4下调用内置方法时会抛出找不到this.getOptions的异常。
解决方案
需要卸载当前高版本sass-loader,安装适配webpack 4的v10.x稳定版即可:
- 卸载现有sass-loader
npm执行命令:npm uninstall sass-loader
yarn执行命令:yarn remove sass-loader - 安装兼容版本sass-loader
npm执行命令:npm install sass-loader@10.1.1 --save-dev
yarn执行命令:yarn add sass-loader@10.1.1 -D - 若操作完成后仍有报错,可同步安装适配的sass版本:
npm install sass@1.32.13 --save-dev
操作完成后重启项目,即可正常在组件中使用scss语法。
内容的提问来源于stack exchange,提问作者Etali
相关产品推荐
相关产品推荐

