Webpack 2热重载错误类型错误:无法读取未定义的属性“过滤器”

问题描述:

我刚刚从Webpack 1.x升级到Webpack 2.x,用于我的React项目,并且除热重载外,所有内容都运行良好。我遇到的问题是每次更新项目中的文件时,HotModuleReplacementPlugin都会出现错误Error TypeError: Cannot read property 'filter' of undefinedWebpack 2热重载错误类型错误:无法读取未定义的属性“过滤器”

我已经设法找到问题,这在我看来像是在HotModuleReplacementPlugin.js中的一个错误,但要确保我没有在我的配置中做过奇怪的事情(即,我不是将这个构建块化,这可能会导致这种情况?)在作为Webpack回购库中的问题/ PR提出之前。

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

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

我已经到了这个问题的底部了。这是由依赖关系q-io造成的,后者依次为collections。集合覆盖数组中的内置find函数并实现它不正确,以便返回-1而不是未定义。