报错`this.getOptions is not a function` 解决方案

4,092 阅读1分钟

前端项目报错this.getOptions is not a function 解决方案。

场景

前端项目不管的Vue还是React, 在安装scss后,使用样式时就会导致编译出错。 image.png

原因

是因为sass-loader的版本太高了。

image.png

解决

当然是降低sass-loader的版本啦。

   yarn add sass-loader@8.x

或者

   npm install sass-loader@8.x

如果出现安装失败等情况,则需要卸载了再重装。

 yarn remove sass-loader

npm uninstall sass-loader

可能有的同学安装了低版本的sass-loader 依然还是不行。其中一个可能是因为sasssass-loader的版本不匹配。目前我并没在网上找到版本对应表。不过我们可以在安装的sass-loader 中查看package.json的依赖信息。

image.png

有的项目用的node-sass 直接看node-sass的版本,而我用的dart-sasssass的版本号。

  • 题外话: node-sass由于网络问题对国内用户太不友好了,经常出现安装失败的情况。强烈建议使用dart-sass, 但是你如果你是老项目或者你非要使用 node-sass,可以试试这个 安装node-sass失败解决方案
  • 注: 在切换sass-loader版本后, 有的版本无法正确解析 /deep/: image.png 这时候换成 >>> 或者 ::v-deep