TypeError: this.getOptions is not a function

昨天在把 uni-app 小程序项目从 HBuilderX 开发方式迁移到 VSCode 中来,当把项目依赖都安装好,执行 npm run dev:mp-weixin 开始编译到微信小程序平台时,终端报了以下错误信息:

 ERROR  Failed to compile with 1 

 error  in ./src/pages/flag/insert.vue?vue&type=style&index=0&lang=scss&

TypeError: this.getOptions is not a function
    at runMicrotasks (<anonymous>)


 @ ./src/pages/flag/insert.vue?vue&type=style&index=0&lang=scss& 1:0-840 1:856-859 1:861-1698 1:861-1698
 @ ./src/pages/flag/insert.vue
 @ ./src/main.js?{"page":"pages%2Fflag%2Finsert"}

 ERROR  Build failed with errors.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! vbemall-mp@0.1.0 dev:mp-weixin: `cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the vbemall-mp@0.1.0 dev:mp-weixin script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     ~/.npm/_logs/2021-09-27T06_38_01_801Z-debug.log

关键错误信息:TypeError: this.getOptions is not a function

搜索了一下,都是说由于 sass-loader / less-loader 版本过高导致的,想到我刚才安装了 sass-loader,并且是 12.1.0 的版本。那我把版本降下来就好了。

npm uninstall sass-loader
npm i sass-loader@10.1.1 -D

把 sass-loader 版本降到 10.1.1 版本就好了,问题解决。