vue组件中的样式使用lang='less'之后报错Module build failed: TypeError: loaderContext.getResol

1,252 阅读1分钟
  • vue组件中的样式使用lang='less'之后报错,报错信息如下:
  • Failed to compile.

./node_modules/css-loader?{"sourceMap":true}!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-ef68022e","scoped":true,"hasInlineConfig":false}!./node_modules/less-loader/dist/cjs.js?{"sourceMap":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Login.vue Module build failed: TypeError: loaderContext.getResolve is not a function at createWebpackLessPlugin (D:\WWW\test_vue\vue_shop\node_modules\less-loader\dist\utils.js:36:33) at getLessOptions (D:\WWW\test_vue\vue_shop\node_modules\less-loader\dist\utils.js:150:31) at Object.lessLoader (D:\WWW\test_vue\vue_shop\node_modules\less-loader\dist\index.js:29:49) @ ./node_modules/vue-style-loader!./node_modules/css-loader?{"sourceMap":true}!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-ef68022e","scoped":true,"hasInlineConfig":false}!./node_modules/less-loader/dist/cjs.js?{"sourceMap":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Login.vue 4:14-370 13:3-17:5 14:22-378 @ ./src/components/Login.vue @ ./src/router/index.js @ ./src/main.js @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js

  • 在使用less之前,项目已经添加了less less-loader依赖项,查看资料后发现是less-loader版本过高导致
  • 既然知道是因为版本过高,那就重新安装低版本的less-loader好了,具体操作如下:
  • 第一步:卸载之前安装的less-loader
  • 命令:npm uninstall less-loader
  • 第二步:安装低版本less-loader
  • 命令: npm install less-loader@4.1.0 --save-dev
  • 第三步:重新安装less
  • 命令:npm install less --save-dev
  • 第四步:加载依赖
  • 命令:npm install
  • 最后重新运行项目,报错消失