Vue错误之getOptions问题
1.前言
当使用vue2创建项目的时候,引用别人的代码,可能会出现:this.getOptions is not a function,这多半是因为sass-loader或者是less-loader引起的问题
2.sass-loader降级
我是在安装sass-loader之后,遇到了这个问题,主要就是版本不兼容,向下取版本就好了。我安装了npm:6.14.15,node:v14.18.1,vue-cli:@vue/cli 4.5.14
1 | ## 卸载高版本12.2.2 |
这里不仅仅是有sass的问题,还有less的问题,都是因为 webpack和loader的版本不兼容的问题。有的说是把less降级到5.0.0,降级到6.0.0,但是我降级之后,还是不可以。鉴于是版本问题,也鉴于是webpack的版本问题,这个有必要重新升级一下webpack了。
1.TypeError: this.getOptions is not a function
2.Vue报错: this.getOptions is not a function
4.Vue 报错 之 Syntax Error: TypeError: this.getOptions is not a function
5.Vue解决less-loader报错 TypeError: this.getOptions is not a function
3.less-loader降级
在我启动的时候,出现了这个问题:./src/assets/less/JAreaLinkage.less TypeError: this.getOptions is not a function,我的版本:npm:6.14.15,node:v14.18.1,vue-cli:@vue/cli 4.5.14。
几乎所有的文章,都说是要降级,但是 实际上,我的
1 | // 原先的版本 |
【尝试】
(1) 降级less-loader
1 | ## 卸载 |
(2) 降级sass
上面的less-loader解决之后,还有 antd-online-mini 也会报这个错误。由于目前 @vue/cli@4.5.12 所用的是 webpack4,发现 sass-loader的11.0.0和less-loader的8.0.0 版本需要 webpack5 ,所以需要将sass-loader的版本降到11以下,less-loader的版本降到8以下。
(3) 降级@vue/cli
重新安装了全局的@vue/cli,降到了 3.12.1,但是还是报错。
1.TypeError: this.getOptions is not a function
2.TypeError: this.getOptions is not a function 这里也是降级,但是我的版本本身就不是很高啊,才刚刚4.1.0
3.TypeError: this.getOptions is not a function less-loader安装的版本过高
4.Syntax Error: TypeError: this.getOptions is not a function
5.安装sass-loader后报错:TypeError: this.getOptions is not a function 解决办法:运行新命令,卸载旧版本,安装新版本。这里装了less 5.0.0版本
6.TypeError: this.getOptions is not a function 的解决(vue,react) 通过 npm uninstall less-loader 命令卸载原版本的 less-loader,然后 通过 npm install less-loader@5.0.0 命令下载降级版本的 less-loader,这个问题就可以解决了.
7.引入less 报错: this.getOptions is not a function less-loader@6.0.0这个是到了6.0版本,这不就是升级版本了吗?
8.less-loader 报错 TypeError: this.getOptions is not a function webpack和less-loader版本兼容问题导致的,需要降低版本。
3.升级vue项目
上面的两种方式我都没有解决,我觉得使用新的方式进行解决,我安装了 @vue/cli 然后创建了一个新的项目。
1 | ## 安装 @vue/cli 5.0.6 版本 |
获得到的package.js如下:
1 | { |
然后将原先的其他依赖拷贝进来,修改配置文件文件。
1.今天我把vue2中webpack版本升级了 这里直接将vue2的webpack升级到了5.0
2.vue-cli升级 vue upgrade –next 方法进行升级,但是对我无效,我无法升级,因为会报错: command failed: yarn add @vue/cli-service@~5.0.8
3.全网最硬核的Ant-Design-Vue从Vue-cli迁移至Vite(一) 这里是直接从vue-cli升级到了vite