.vue组件中样式less语法编译报错TypeError:parser is not a function

我在.vue组件文件中,样式使用less语法,并声明,编译时报错:

ERROR in ./node_modules/_extract-text-webpack-plugin@2.1.2@extract-text-webpack-plugin/loader.js?{"omit":1,"remove":true}!./node_modules/_vue-style-loader@3.0.2@vue-style
-loader!./node_modules/_css-loader@0.28.7@css-loader!./node_modules/_vue-loader@13.0.4@vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-09eea624","scoped":true,"has
InlineConfig":true}!./node_modules/_less-loader@4.0.5@less-loader/dist/cjs.js!./node_modules/_vue-loader@13.0.4@vue-loader/lib/selector.js?type=styles&index=0!./web/widge
t/header/w-logo.vue                                                                                                                                                       
Module build failed: ModuleBuildError: Module build failed: TypeError: parser is not a function                                                                           
    at new LazyResult (F:\www\myproject\projects\webkoa2-vue\node_modules\_postcss@6.0.11@postcss\lib\lazy-result.js:66:24)                                               
    at Processor.process (F:\www\myproject\projects\webkoa2-vue\node_modules\_postcss@6.0.11@postcss\lib\processor.js:117:12)                                             
    at loadPostcssConfig.then.config (F:\www\myproject\projects\webkoa2-vue\node_modules\_vue-loader@13.0.4@vue-loader\lib\style-compiler\index.js:57:8)                  

我的.vue文件,配置文件如下:

clipboard.png

clipboard.png

package.json中依赖如下:

clipboard.png

阅读 9.4k
2 个回答

经过多次验证,发现将样式语言设置为CSS时,也会报类似的错。通过仔细分析报错信息,发现多次出现:_postcss@6.0.11@postcss。忽然想起,自己webpack配置文件中在vue-loader中设置了postcss的解析方式,将其注释后,并将样式语言仍然设置为less时,再运行就没有报错:

clipboard.png

目前还不清楚 .vue文件、vue-loader 中如何使用 postcss 。哪位网友知晓,烦请告知,谢谢!

postcss 版本太低了,需要6.0.0以上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题