TypeError: this.getOptions is not a function 解决方法

报错信息

TypeError: this.getOptions is not a function

我在安装完 sass-loader 之后,启动项目报的这个错误。

问题分析

这个是因为 sass-loadersass-loader sass-loader 的版本过高或过低,与当前node版本不对应,不兼容 getOptions 函数方法,所以需要对 sass-loader 进行升级或降级处理。

解决方案

npm uninstall node-sass sass-loader
npm install sass-loader@版本号 node-sass@版本号  --save-dev

命令行卸载node-sass和sass-loader

重新安装跟你当前node版本对应的node-sass和sass-loader。我的node 版本是v14.18.2,下面是我在用的版本组合
node-sass: ^4.14.1;
sass-loader: ^7.3.1;


也可以不用 node-sass 用 sass 代替,推荐大家去安装 sass,因为它对环境的依赖比较低

当我确定了 sass-loader 的版本之后,直接安装的 sass,默认最新版本,就没有报错,可以成功运行

npm i sass --save-dev

node 版本与 node-sass 版本的对应关系

1、可自行查看node-sass官方文档

2、可参考下面的表格

NodeJs 版本node-sass 版本node
Node 19 8.0+111
Node 188.0+108
Node 177.0+,<8.0102
Node 166.0+93
Node 155.0+,<7.088
Node 144.14+83
Node 134.13+,<5.079
Node 124.12+,<8.072
Node 114.10+,<5.067

node-sass 和 sass-loader 的版本对应关系

要查看 node-sass 和 sass-loader 的各个版本的对应关系,可以参考以下表格:

node-sass 版本sass-loader 版本
^6.0.0^10.0.0
^5.0.0^10.0.0
^4.0.0^8.0.0
^3.0.0^7.0.0
^2.0.0^4.0.0
^1.0.0^2.0.0

其中, ^ 表示兼容该版本及以上的版本。例如,node-sass 版本为 ^4.0.0,表示 sass-loader 的版本应该为 ^8.0.0 或更高版本,但不包括 10.0.0 及以上版本。

这些信息可以在 npm 官方网站或者各自的 GitHub 仓库中找到。如果你使用 npm,可以使用以下命令来查看:

npm view node-sass peerDependencies
npm view sass-loader peerDependencies

这些命令将显示 node-sass 和 sass-loader 的 peerDependencies,其中包括它们所需的其他依赖项和版本范围。


如果觉得此文章不错或对你有所帮助,期待你的点赞支持💫!❤️ni!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值