"无法解析符号"当使用ES6`import`语法时

时间:2016-03-02 08:22:42

标签: javascript ecmascript-6 phpstorm webstorm commonjs

Here给出了如何从模块导入某些类的示例:

import {ModalContainer, ModalDialog} from 'react-modal-dialog';

然而,PhpStorm(最新的EAP)给了我一个错误:

Cannot resolve symbol 'ModalDialog'

我使用npm install react-modal-dialog安装了该软件包,它出现在node_modules

等效的var {ModalContainer, ModalDialog} = require('react-modal-dialog');可以正常使用。

2 个答案:

答案 0 :(得分:5)

我认为它是由PHPStorm造成的。导入CommonJS模块时,IDE无法understand import语法。

我在使用WebStorm 2016.1.2时也收到了这个警告。

reactreact-router为例:

  • react是一个CommonJS模块,使用ES5语法开发;
  • react-router是使用ES2015语法开发的,由Babel编译。

WebStorm 2016.1.2可以解析Link模块导出的react-router,但无法解析createClass模块导出的react

<强>更新

browser-sync也是使用ES5开发的CommonJS模块。但它在WebStorm上运行良好,WebStorm可以解析browser-sync导出的所有API。

令我感到困惑的是,WebStorm无法解析react导出的API。

答案 1 :(得分:3)

我在设置React项目时遇到过这种情况,我所做的只是下载导入的打字稿定义,在我的案例中只搜索了char *str = malloc(20); strcpy(str, "apple apple peach"); char *p; p = strstr(str, "peach"); if (p!= NULL) { strncpy(p, "apple", 5); } free(str);

enter image description here

有关向项目添加库的说明,请参阅webstorm's help page