Syntax Error: TypeError: this.getOptions is not a function

Posted 凯小默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Syntax Error: TypeError: this.getOptions is not a function相关的知识,希望对你有一定的参考价值。

问题

我使用的 node 版本是 12.13.0

vue 项目里使用了 node-sasssass-loader,版本如下

"node-sass": "^7.0.3",
"sass-loader": "^13.0.2",

运行报错

解决

目前我的解决方式降低两个依赖的版本:

"node-sass": "^5.0.0",
"sass-loader": "^10.0.5",

安装相应版本:

npm i node-sass@5.0.0 sass-loader@10.0.5 -D

安装完成运行之后,就没有报错了

第一个需要注意的就是 node 跟 node-sass 的版本

具体可以参考:https://github.com/sass/node-sass

以下是 node-sass 支持的最低和最高版本的快速指南:

NodeJSSupported node-sass versionNode Module
Node 177.0+102
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 104.9+, <6.064
Node 84.5.3+, <5.057
Node <8<5.0<57

第二个就是 sass-loader 跟 node-sass 版本

具体可以参考:https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md

目前我测试的 sass-loader 版本高于 11.0.0 会报错,所以选择了这个版本。

另外官网也建议转移到 dart sass:

警告:不推荐使用 LibSass 和 Node Sass。 虽然他们将继续无限期地接收维护版本,但没有计划添加额外的功能或与任何新的 CSS 或 Sass 功能兼容。 仍在使用它的项目应该转移到 Dart Sass。

以上是关于Syntax Error: TypeError: this.getOptions is not a function的主要内容,如果未能解决你的问题,请参考以下文章

Syntax Error: TypeError: this.getOptions is not a function

dbType postgresql, , druid-version 1.2.5, syntax error: syntax error, error in :‘desc LIMIT ?,?,

Mybatis报Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, expect EQ

执行shell脚本报错:syntax error near unexpected token `或syntax error: unexpected end of file

Parse error: syntax error, unexpected end of file

laravel --报错:Parse error: syntax error, unexpected '}', expecting ';'