webpack5.24.2和vue-loader15.9.6 配置文件中引入插件new VueLoaderPlugin()后打包报错
· 预计阅读时间:1 分钟
摘要
当我使用 webpack5.24.2和vue-loader15.9.6 打包Vue时报错TypeError: The 'compilation' argument must be an instance of Compilation
#
报错信息运行webpack命令打包时报错,错误信息如下
TypeError: The 'compilation' argument must be an instance of Compilation
#
情景分析应该是通过webpack打包vue时报错,我使用的webpack的版本是5.24.2,vue-loader是15.9.6 按照vue-loader15的要求在webpack.config.js配置文件中引入了VueLoaderPlugin并且在plugins中配置了 new VueLoaderPlugin()
当我未在plugins中配置 new VueLoaderPlugin()就进行打包时确实报错提醒我需要引入vue-loader的这个插件,但我引入之后打包就报现在这个错误
TypeError: The 'compilation' argument must be an instance of Compilation
,
我初步认为是引入该插件引起的
我在网上找到一个一样的错误,也是引入插件后报了该错误,但是是 new HtmlWebpackPlugin()插件,基本确定为:webpack5和HtmlWebpackPlugin版本的兼容性问题,解决办法是升级HtmlWebpackPlugin的版本或者将webpack5卸载安装webpack4 查看相关详情
#
报错原因根据以上情况分析初步得出是webpack5.24.2,vue-loader15.9.6中使用new VueLoaderPlugin()的版本兼容问题
#
解决办法当我降低了vue-loader版本为14.2.4之后即可以正常打包了
npm i vue-loader@14 --save-dev