我在WebStorm中也遇到了同样的问题。当我在import语句中的'react-router-dom'上执行crtl-click时,我看到它似乎对应该注意哪个index.ts.d文件感到困惑。一个来自于我的项目的node_modules中安装的6.0.2版本,正如预期的那样。另一个位于C:\Users[me]\AppData\Local\JetBrains\WebStorm 2021.2\javascript\typings\react-router-dom\5.3.2\node_modules@types\react-router-dom\index. d. ts。 我刚刚从5.3.2版本中重命名了JetBrains的后一个文件,认为它现在已经过时了,之后它就像预期的那样工作了。这不是最漂亮的解决方案,我只是基本上确定它以后不会找到咬我屁股的方法。但至少现在,它工作了。
6条答案
按热度按时间xghobddn1#
当我升级到
react-router-dom:6.0.2
时,Intellij中的大多数导入都遇到了完全相同的问题“无法解析符号”。如**@DLH所述,Jetbrains产品正在从
<system directory>/jetbrains/intellij/javascript/typings
而不是项目的node_modules
文件夹中阅读包的类型文件**。正如Jetbrains公司的Oksana Chumak所说:
IDE会将某些常用库得键入内容下载到其配置文件夹中,并使用它们来增强代码完成功能.
解决方案:
1.在Jetbrains产品中,按shift两次打开“搜索所有位置”窗口,搜索注册表并打开第一个结果。
1.在注册表中,查找typescript.external.type. definitions.packages项,并在该字段的 value 中,仅从值中删除****react-router-dom字段。
1.也可以转到文件-〉使缓存失效-〉选择“清除文件系统缓存和本地历史”-〉单击“失效并重新启动”
现在,jetbrains产品将从项目的
node_modules
读取类型文件*,而不是从它的internal typings folder
阅读。将来,它也不会尝试下载和使用其他项目的intellij react-router-dom类型。学分:支持@米尔伊斯梅利和@不喜庆的鸡帮助第三步。
emeijp432#
我在WebStorm中也遇到了同样的问题。当我在import语句中的
'react-router-dom'
上执行crtl-click时,我看到它似乎对应该注意哪个index.ts.d文件感到困惑。一个来自于我的项目的node_modules中安装的6.0.2版本,正如预期的那样。另一个位于C:\Users[me]\AppData\Local\JetBrains\WebStorm 2021.2\javascript\typings\react-router-dom\5.3.2\node_modules@types\react-router-dom\index. d. ts。我刚刚从5.3.2版本中重命名了JetBrains的后一个文件,认为它现在已经过时了,之后它就像预期的那样工作了。这不是最漂亮的解决方案,我只是基本上确定它以后不会找到咬我屁股的方法。但至少现在,它工作了。
uemypmqf3#
我们可以尝试移除
node_modules
并删除该文件夹。然后我们可以运行npm
,这将再次重新安装这些软件包。在此之后,我将尝试实现
Router
,并查看它是否能够自行解析,即使它抱怨找不到符号。应该可以这样做:
rfbsl7qr4#
我解决了空白屏幕,这是因为版本,所以我不得不更改基于https://github.com/remix-run/react-router/blob/main/docs/getting-started/tutorial.md的代码,但我仍然有一个警告“无法解析符号'路由'”我使用的是最新版本的Webstrom。
l0oc07j25#
您必须安装套件的Typescript Stub
您有两个选择:
1.使用IDE安装
1.用npm安装它
不要忘记从首选项中删除IDE库|语言和框架|JavaScript语言|存储库(如果使用了选项1)
xggvc2p66#
在macOS上,一个可能的解决方案是:
在你的应用程序栏中,按文件-〉无效缓存-〉选择“清除文件系统缓存和本地历史”-〉点击“无效并重新启动”