使用html-webpack-plugin 插件报错问题解决方案

在使用webpack构建HTML时遇到html-webpack-plugin报错TypeError: Cannot read property 'tap' of undefined。错误源于最新版本插件中的tap函数未被识别。解决方案是降级到低一版本的html-webpack-plugin,先删除已安装的最新版,再通过命令安装指定版本的插件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用webpack在构建HTML时需要安装并且使用html-webpack-plugin 插件但是在构建过程中会报错

报错信息如下:
TypeError: Cannot read property ‘tap’ of undefined
at HtmlWebpackPlugin.apply (D:\XXX\node_modules\html-webpack-plugin\index.js:40:31)
at webpack (D:\XXX\node_modules\webpack\lib\webpack.js:51:13)
at processOptions (D:\XXX\node_modules\webpack-cli\bin\cli.js:272:16)
at D:\XXX\node_modules\webpack-cli\bin\cli.js:364:3
at Object.parse (D:\XXX\node_modules\webpack-cli\node_modules\yargs\yargs.js:576:18)
at D:\XXX\node_modules\webpack-cli\bin\cli.js:49:8
at Object. (D:\XXX\node_modules\webpack-cli\bin\cli.js:366:3)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object. (D:\XXX\node_modules\webpack\bin\webpack.js:156:2)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
error Command failed with exit code 1.

原因解释

使用yarn add html-webpack-plugin --dev安装插件时,默认安装的是最新版本的html-webpack-plugin 插件,最新版本中使用tap()函数导致无法识别。

解决方案

安装插件时使用yarn html-webpack-plugin@4.0.0-alpha --dev命令安装低一版本的插件即可解决,注意:在安装低版本之前如果安装过最新版插件需要使用yarn remove html-webpack-plugin --dev命令删除原有插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值