【问题标题】:Webpack 2 Hot-reload Error TypeError: Cannot read property 'filter' of undefinedWebpack 2 Hot-reload Error TypeError: Cannot read property 'filter' of undefined
【发布时间】:2017-09-23 19:56:34
【问题描述】:

我刚刚为我的 React 项目从 Webpack 1.x 升级到了 Webpack 2.x,一切运行良好,除了热重载。我遇到的问题是,每次我更新项目中的文件时,HotModuleReplacementPlugin 都会出现错误Error TypeError: Cannot read property 'filter' of undefined

我已经设法找到了这个问题,在我看来,这就像 HotModuleReplacementPlugin.js 中的一个错误,但我想确保我没有在我的配置中做一些奇怪的事情(即我没有对构建进行分块,这可能会导致这种情况?),然后在 Webpack 存储库中作为问题/PR 提出。

HotModuleReplacementPlugin.js 第 113 行 var currentChunk = this.chunks.find(chunk => chunk.id === chunkId); 中的代码在我的构建中返回 -1,而不是 Chunk 对象,这是该行后面的逻辑所依赖的。

我已经能够通过将第 114 行的 if 语句从 if(currentChunk) { 更改为 if(currentChunk && currentChunk.modules) { 来“修复”我的本地版本,但是我在这里遗漏了什么吗?

【问题讨论】:

    标签: javascript webpack webpack-2 react-hot-loader


    【解决方案1】:

    我现在已经深入了解了这个问题。这是由依赖关系q-io 引起的,而依赖关系又具有collections 的依赖关系。 Collections 会覆盖数组上的内置 find 函数并错误地实现它,因此返回 -1 而不是 undefined。

    【讨论】:

      猜你喜欢
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 2023-03-15
      • 2022-01-23
      相关资源
      最近更新 更多