vue-cli生成项目中使用less,在使用过程中按照vue-cli的帮助文档,手动install了less 和less-loader
# Less
npm install -D less-loader less
安装之后在vue插件中编写less样式,编译报错
后编写如下测试代码:
@color:red; .z-btn-primary{ color:@color; }编译时报错信息:
error in ./src/components/Button/Button.vue?vue&type=style&index=0&id=4439b54f&lang=less&scoped=true& Syntax Error: TypeError: this.getOptions is not a function
经排查发现为less-loader版本太高导致,目前安装的vue-cli版本所带的webpack 为webpack@4.x版本,而安装的less-loader为8.0版本,8.0版本要求webpack至少为5.0,如下:
后将less-loader降级为7.3版本问题解决
先卸载高版本 npm uninstall less-loader
安装低版本 npm install less-loader@7.3.0