react-router无法解析模块历史记录,缺少lib文件夹

时间:2016-11-08 10:00:59

标签: node.js reactjs npm react-router

我正在创建一个新的React项目,我在react-routerhistory之间存在依赖性问题:

ERROR in ./~/react-router/lib/match.js
Module not found: Error: Cannot resolve module 'history/lib/Actions' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/match.js 15:15-45

ERROR in ./~/react-router/lib/useRouterHistory.js
Module not found: Error: Cannot resolve module 'history/lib/useQueries' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/useRouterHistory.js 6:18-51

ERROR in ./~/react-router/lib/createMemoryHistory.js
Module not found: Error: Cannot resolve module 'history/lib/useQueries' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/createMemoryHistory.js 6:18-51

ERROR in ./~/react-router/lib/useRouterHistory.js
Module not found: Error: Cannot resolve module 'history/lib/useBasename' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/useRouterHistory.js 10:19-53

ERROR in ./~/react-router/lib/createMemoryHistory.js
Module not found: Error: Cannot resolve module 'history/lib/useBasename' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/createMemoryHistory.js 10:19-53

ERROR in ./~/react-router/lib/browserHistory.js
Module not found: Error: Cannot resolve module 'history/lib/createBrowserHistory' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/browserHistory.js 5:28-71

ERROR in ./~/react-router/lib/hashHistory.js
Module not found: Error: Cannot resolve module 'history/lib/createHashHistory' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/hashHistory.js 5:25-65

ERROR in ./~/react-router/lib/createMemoryHistory.js
Module not found: Error: Cannot resolve module 'history/lib/createMemoryHistory' in /app/node_modules/react-router/lib
@ ./~/react-router/lib/createMemoryHistory.js 14:27-69

我正在使用react-router上一版3.0.0history 3.0.0作为其package.json的依赖项。 我正在使用npm版本3.10.8,即使history模块由react-router依赖项安装,我也会在package.json中添加它,如react-router中所述{1}} docs。

react-router正在history/lib/搜索其要求,而history模块的文件位于history/(无lib文件夹)。

由于它不依赖于我的配置/安装,而是依赖于第三方模块,我不知道该怎么做,我很惊讶没有发现任何与此相关的问题。

3 个答案:

答案 0 :(得分:13)

问题实际上是遵循complete(df, week, project_id, fill = list(events_in_time = 0)) 安装说明,在我们自己的react-router中添加history模块。

自行安装package.json的最新版本而非history所需的版本会造成此冲突。

react-router> = 3.0时,react-router是具有固定版本要求的依赖项,与history本身一起安装:

react-router

无需在└─┬ react-router@3.0.0 └── history@3.2.1 中手动安装,如果您没有指定正确的所需版本,则会产生冲突。

感谢@ShubhamKhatri指责我这个方向。

答案 1 :(得分:2)

路径需要更新,不再是

  

history / lib / createHashHistory

只是

  

历史/ createHashHistory

React Training Link

也可能从react-route-dom导入HashRouter。 HashRouter取代了Router,不再需要将历史作为道具传递。

答案 2 :(得分:1)

如果您使用的npm版本大于3.0.0。

请注意,您还需要安装history包,因为它是React Router的对等依赖项,并且不会在npm版本freater 3.0.0以后自动安装。

运行npm install history,你应该很好。