webpack按官方文档配置了,但热更新无效

目录

一、问题

二、解决方法

三、总结


tiips:如嫌繁琐,直接移步总结即可!

一、问题

1.开发的时候每次修改代码都要 手动刷新,真的很麻烦,要手动操作而且因为全局刷新需要等待较长的时间,所以希望使用webpack的局部热更新来解决这个问题,但是根据网上的配置操作了,webpack打包的项目还是无法更新。

前置操作

1)安装了webpack webpack-dev-server依赖

 npm install webpack webpack-dev-server --save-dev

2)webpack配置:

 devServer:{ hot:true} //开启热更新

3)css热更新:配置 style-loader,对于vue项目可以配置 vue-style-loader

      {
        test: /\.css$/,
        use: [
          isProd
            ? MiniCssExtractPlugin.loader
            : {
                loader: 'vue-style-loader'
              },
          {
            loader: 'css-loader',
            options: {
              sourceMap: true,
              esModule: false
            }
          }
        ]
      },

4)vue文件热更新:配置 vue-loader

      {
        test: /\.vue$/,
        use: {
          loader: 'vue-loader'
        }
      },

附:使用的webpack-dev-server版本:3.11.0  ;webpack:5.17.0

二、解决方法

1.按道理按照上面的方法配置一遍后,应该可以热更新了,但是并没有生效。

2.看了别人的项目可以用,无奈一个个属性尝试,最后发现是因为  webpack配置中没有配置 target属性导致的。配置中添加 target:'web'就可以实现热更新了,如图2-1,打印了热更新开启日志。

图2-1

3.官方文档去看target属性:target是说明当前项目的构建目标。有browserslist配置则默认值为'browserslist';没有browserslist配置,则默认值为'web'.

4.我这个项目有browserslist,所以target:'browserslist' ;但是为什么 默认值为 'browserslist不能开启热更新呢?我也不知道@——@

三、总结

1.问题是解决了,在其他配置完成后热更新仍不生效,可以尝试配置 target:'web'

2.但是吧,我真的不知道为什么这样子做是可以的。官方文档也没有写必须加这个配置项热更新才生效;网上搜了也没有找到热更新和target配置有关的文章@——@

3.啊,知其然不知其所以然。有大佬知道原因的,欢迎告知,非常感谢!

/*

希望对你有帮助!

如有错误,欢迎指正,非常感谢!

*/

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,webpack报错TypeError: Cannot read properties of undefined (reading 'call')通常是由于webpack配置文件中出现了错误或缺失导致的。以下是一些可能的解决方法: 1. 确保webpack配置文件存在并正确配置。检查webpack.config.js文件是否存在,并确保其中的配置项正确。可以参考官方文档或其他可靠资源来了解正确的配置选项。 2. 检查webpack配置文件中是否存在语法错误。在webpack配置文件中,可能存在语法错误导致无法正确读取属性。可以使用工具(如ESLint)来检查并修复语法错误。 3. 确保webpack及其相关依赖已正确安装。运行`npm install`或`yarn install`命令来安装或更新webpack及其相关依赖。 4. 检查webpack版本兼容性。某些webpack插件或loader可能不兼容当前使用的webpack版本。可以尝试升级或降级webpack版本,或者查找与当前webpack版本兼容的插件和loader。 5. 清除webpack缓存。有时候webpack缓存可能会导致问题。可以尝试运行`npm run clean`或`yarn clean`命令来清除webpack缓存。 6. 检查webpack配置文件中是否存在循环引用。循环引用可能导致无法正确读取属性。确保webpack配置文件中没有循环引用的情况。 7. 如果以上方法都无效,可以尝试重新安装webpack。首先卸载现有的webpack,然后重新安装最新版本的webpack。 请注意,以上方法仅为常见解决方法之一,具体解决方法可能因具体情况而异。如果问题仍然存在,建议查看详细的错误日志或在相关社区或论坛上寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值