You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行React Boilerplate报TypeError: Cannot read properties of undefined (reading 'tap')

修复React样板项目npm start时的HtmlWebpackPlugin错误

我尝试使用npm start运行React样板项目,每次都会出现以下错误:

/mnt/c/Users/User/Downloads/LI-AI-PAD/LI-AI-PAD/node_modules/html-webpack-plugin/index.js:43
    compiler.hooks.initialize.tap('HtmlWebpackPlugin', () => {
                              ^

TypeError: Cannot read properties of undefined (reading 'tap')
    at HtmlWebpackPlugin.apply (/mnt/c/Users/User/Downloads/LI-AI-PAD/LI-AI-PAD/node_modules/html-webpack-plugin/index.js:43:31)
    at webpack (/mnt/c/Users/User/Downloads/LI-AI-PAD/LI-AI-PAD/node_modules/webpack/lib/webpack.js:51:13)
    at addDevMiddlewares (/mnt/c/Users/User/Downloads/LI-AI-PAD/LI-AI-PAD/server/middlewares/addDevMiddlewares.js:16:20)   
    at module.exports (/mnt/c/Users/User/Downloads/LI-AI-PAD/LI-AI-PAD/server/middlewares/frontendMiddleware.js:15:5)      
    at Object.<anonymous> (/mnt/c/Users/User/Downloads/LI-AI-PAD/LI-AI-PAD/server/index.js:21:1)
    at Module._compile (node:internal/modules/cjs/loader:1120:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1174:10)
    at Module.load (node:internal/modules/cjs/loader:998:32)
    at Module._load (node:internal/modules/cjs/loader:839:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)

Node.js v18.7.0

我试过的操作:

  • 在报错文件中添加@params注解,问题未解决
  • 尝试安装不同版本的webpack,提示存在冲突的peer依赖
  • 必须使用该样板项目,无法更换,求修复方案

问题根源

错误核心是HtmlWebpackPlugin版本与你当前使用的webpack@4.46.0不兼容:webpack 4中不存在compiler.hooks.initialize钩子,这个钩子是webpack 5新增的。说明你安装的html-webpack-plugin版本过高,适配的是webpack 5,但项目依赖的是webpack 4。

修复步骤

  1. 卸载当前高版本html-webpack-plugin
npm uninstall html-webpack-plugin
  1. 安装适配webpack 4的指定版本
    webpack 4对应的html-webpack-plugin稳定兼容版本为^4.5.2(最后一个支持webpack 4的版本),执行:
npm install html-webpack-plugin@4.5.2 --save-dev
  1. 清理依赖缓存(可选但推荐)
    如果仍存在依赖冲突,先删除旧依赖文件:
rm -rf node_modules package-lock.json

然后重新安装所有依赖:

npm install
  1. 验证修复
    重新执行npm start,项目应该可以正常启动。

注意:不要手动修改node_modules内的代码,每次执行npm install都会覆盖这些修改,且无法解决版本不兼容的核心问题。

内容的提问来源于stack exchange,提问作者tices

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:17:36