在将我们的应用从路由器升级到2.0.0-rc4时,我在“开发”模式下的Chrome浏览器中出现以下错误:
未捕获RangeError:超出最大调用堆栈大小
这似乎来自warning.js
中的无限循环。
这可以在我的申请中复制,内容如下:
import routerWarning from 'react-router/lib/warning'
routerWarning(true, 'a test message')
答案 0 :(得分:0)
您的网络包配置中lib
中很可能有.
或resolve.modulesDirectories
。不要这样做 - 它会导致第三方库的广泛问题。
答案 1 :(得分:0)
看起来react-router在名为warning
的文件中需要warning.js
包。这导致我的配置无限循环,因为react-router的warning.js
需要自己而不需要包。
我能够通过在我的package.json中添加"warning": "2.1.0"
并将resolve.modulesDirectories
更改为包含warning
包目录而在任何其他人之前解决此问题:
modulesDirectories: [
path.join(__dirname, '..', '..', 'node_modules', 'warning'),
"", "shared", "node_modules"
]