彙總:react-router、history 更新引起的相關問題及解決方案
持續更新。
Cannot read property 'Consumer' of undefined
原因
使用的 react-router 和 react-router-dom 版本不同,通常出現在 ant-design-pro 的使用者中,因為 ant-design-pro 手動依賴了一個react-router-dom@^4.3.1
,^
字首引讓 npm/yarn 下載依賴時匹配到 [email protected]。
解決
方法一(別這麼幹)
修改 package.json 中 react-router-dom 的依賴為 4.3.1。能解決問題,但治標不治本,下次 umi 把 react-router 升級到 4.4,就又掛了。
方法二(推薦)
參考ant-design-pro!3787 修復,刪除 react-router-dom 依賴,路由功能全部走 umi。
Module not found: Can't resolve '@babel/runtime/helpers/...'
原因
history 釋出了 4.9,而 roadhog 之前版本對於@babel/runtime
的處理不恰當。
解決
方法一
新建 webpack.config.js,內容如下:
export default function(webpackConfig) { delete webpackConfig.resolve.alias['@babel/runtime']; return webpackConfig; }
方法二
roadhog 依賴升級為^2.5.0-beta.4
。