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

Webpack5搭配Dev-Server启用HMR时浏览器控制台报错问题求助

问题修复方案

  • 移除entry配置中手动注入的HMR相关入口,webpack-dev-server v4 开启hot: true后会自动注入依赖,重复注入会导致逻辑冲突。修改后的entry配置如下:
entry: {
    main: [
        `${options.SRC_DIR}styles/main.scss`,
        `${options.SRC_DIR}main.js`,
    ]
}
  • 修改devServer配置中的client字段,不要设置为false。该参数控制客户端和devServer的通讯链路,关闭后会导致HMR消息无法正常传递,直接删除该配置项即可使用默认值,或者设置为true。
  • 调整样式加载规则,开发环境优先使用style-loader代替mini-css-extract-plugin的loader,后者的HMR兼容逻辑在webpack5下容易触发冲突,生产环境再切换为mini-css-extract-plugin的loader即可。如果必须在开发环境使用该插件,需要在loader配置中开启HMR支持:
{
  loader: MiniCssExtractPlugin.loader,
  options: {
    hmr: true,
    runtimeSupport: true
  }
}
  • 手动在webpack配置的plugins数组中添加HotModuleReplacementPlugin,通过Node API启动webpack时部分场景不会自动注入该插件:
plugins: [
  new webpack.HotModuleReplacementPlugin()
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:06:08