vue 安装 less 扩展失败

最近想学习vue的使用,想添加less或者sass扩展使用,看教程很简单的安装,但是实际结果却不是那回事,经常安装完,只要开始使用less就报错如下:
Syntax Error: TypeError: this.getOptions is not a function
真是讨厌这个报错啊,但是每次都能遇到大部分都说是版本的问题,但是按照提供的版本及命令也不见效果,报错依然存在,非常苦恼,一定要找到问题的根源才能解决。

#cnpm install css-loader style-loader sass-loader node-sass –save-dev
cnpm install less less-loader –save

安装的时候有个提示如下:
peerDependencies WARNING less-loader@latest requires a peer of webpack@^5.0.0 but webpack@3.12.0 was installed

顺着这个思路看,应该是存在版本不兼容的问题,那我就检查下那个版本才兼容,按照指定的版本安装试试
可以通过如下命令查看依赖

cnpm view less-loader versions  #查看现在扩展的版本列表
cnpm view less-loader@8.0.0 peerDependencies # 查看现在扩展的依赖版本

我本地的webpack 版本是3.12.0 看来是版本不兼容,那就把node-sass的版本降低点,npm view sass-loader@7.2.0 peerDependencies
{ webpack: ‘^3.0.0 || ^4.0.0’ }
那看来7.2.0的版本应该可以

cnpm install less@3.0.0 --save
cnpm install less-loader@5.0.0 --save
# 执行上面的命令就成功安装less,下面就可以在代码中畅快的使用less了

或者可以在package.json 中添加两行内容:
“less”: “3.0.0”,
“less-loader”: “5.0.0”,

然后再在根目录执行 cnpm install 就可以安装了,效果和上面命令是一样的

You May Also Like