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

Syl*_*ver 5 node.js npm reactjs react-router

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

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
Run Code Online (Sandbox Code Playgroud)

我正在使用react-router上一个版本3.0.0,它history 3.0.0在其中具有依赖性package.json.我正在使用npm版本3.10.8,即使history模块是react-router依赖安装的,我也在我package.jsonreact-router文档中说明了.

当模块中有文件(没有文件夹)时,东西正在react-router搜索它的需求.history/lib/historyhistory/lib

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

Syl*_*ver 14

问题实际上是遵循react-router安装说明,history我们自己添加模块package.json.

安装最后一个版本history而不是所需的版本react-router会产生这种冲突.

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

??? react-router@3.0.0
  ??? history@3.2.1
Run Code Online (Sandbox Code Playgroud)

无需在您手动安装它package.json,如果您没有指定正确的所需版本,则会产生冲突.

感谢@ShubhamKhatri将我指向了这个方向.


Shu*_*tri 7

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

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

跑吧npm install history,你应该会好起来的。

  • 我已经知道这一点,并且我在 package.json 中添加了“history”。无论如何,该模块都存在,这不是这里的问题,问题是“react-router”在调用“history”库时引用了错误的路径 (2认同)