无法解析符号“路线”

Jos*_*dam 32 jsx pycharm reactjs

我通过以下方式导入路由

import {Routes, Route, BrowserRouter} from 'react-router-dom'
Run Code Online (Sandbox Code Playgroud)

我的包 JSON 是"react-router-dom": "^6.0.2",

在此输入图像描述

我正在使用Pycharm。

npm list react-router-dom回报-- react-router-dom@6.0.2

为什么会发生这种情况?我的前端是空白的。

Ash*_*sar 85

当我升级react-router-dom:6.0.2.​

正如@DLH所说,Jetbrains 产品是从项目文件夹中读取包的类型文件。<system directory>/jetbrains/intellij/javascript/typingsnode_modules

正如 Jetbrains 的Oksana Chumak所说:

IDE 将一些流行库的类型下载到其配置文件夹,并使用它们来增强代码完成。

解决方案:

  1. 在 jetbrains 产品内,按两次 Shift 键打开“到处搜索”窗口,搜索注册表并打开第一个结果。

  2. 在注册表中,查找typescript.external.type.defintions.packages键,并在该字段的中,仅从值中删除react-router-dom字段。

  3. 另请转到文件 -> 使缓存无效 -> 选择“清除文件系统缓存和本地历史记录” -> 单击“无效并重新启动”

现在,jetbrains 产品将从项目中读取类型文件node_modules,而不是从其internal typings folder. 将来,它也不会尝试为其他项目下载和使用intellij react-router-dom 类型

致谢:感谢@Mir-Ismaili 和@unfestive Chicken 帮助完成第三步。

  • 谢谢。我也需要重新启动 IDE。 (7认同)
  • 在Mac上,我只需文件-&gt;使缓存无效-&gt;选择“清除文件系统缓存和本地历史记录”-&gt;单击“无效并重新启动” (5认同)