PhpStorm即使存在,也无法解析软件包导入(react-router-dom)

问题描述 投票:0回答:1

我在PhpStorm(2019.3.1)中使用React(16.12.0)。

我要导入的包是react-router-dom(5.1.2)

我将编写以下导入:

import { NavLink, Switch } from "react-router-dom";

这两个软件包都可以通过webpack / babel正确导入,并且当我同时使用Switch和NavLink时,页面可以正确呈现。

但是纯粹从IDE的角度,我会收到有关Switch的警告:Cannot resolve symbol 'Switch'

这很奇怪,因为它显然在那儿,我在/node_modules/react-router-dom中签入,Switch.js在那儿。

奇怪的是,在PhpStorm的先前版本上(在进行几次更新和插件导入以及其他更改之前,PhpStorm准确找到了Switch导入。

我最近尚未更新react-router-dom,并且正在使用其最新的稳定版本。

关于为什么可能缺少Switch的任何想法?

编辑:我已经意识到这可能是因为PhpStorm难以导入commonJS模块。

我尝试将Javascript编译方法从React JSX更改为ECMA6。这没有用。

[我还尝试导入一些用于react-router-dom的构建库,并且该库用于识别Route导入很奇怪,但不能识别Switch

我还尝试使PhpStorm缓存无效并重新启动应用程序,但那也不起作用。

phpstorm webstorm node-modules react-router-dom jetbrains-ide
1个回答
0
投票

node_modules/react-router-dom/esm/react-router-dom.js导出BrowserRouterHashRouterLinkNavLink,但不导出Switch,此处未明确定义。为了更好地完成/提示类型,您可以为该软件包安装Typescript存根:将光标放在import语句中的"react-router-dom"上,单击Alt+Enter,选择安装TypeScript定义以获取更好的类型信息:

enter image description here

请参见https://www.jetbrains.com/help/webstorm/2019.3/configuring-javascript-libraries.html#ws_jsconfigure_libraries_ts_definition_files

© www.soinside.com 2019 - 2024. All rights reserved.