WebStorm无法解析导入语句

3

我有一个使用子目录中的package.config文件来提供名称的React Native项目,例如{ 'name': '@subdirectory' }

然后,在其他文件中导入时,我们会看到import foo from '@subdirectory/bar'

如何配置WebStorm 2017.2.2接受这些别名,而不是给我“模块未安装...”?


1
@subdirectory的父文件夹标记为资源根目录(注意:不是子目录本身,而是其父目录!)应该会有所帮助。 - lena
3个回答

4
你可以尝试在项目视图中右键单击子目录,然后选择“标记目录为 -> 资源根目录”。

1
WebStorm不支持这个React Native hack(据我所知,在任何官方文档中都没有记录)。如果您需要此功能,请关注WEB-23221以获取更新。
@subdirectory的父文件夹标记为Resource root(注意:不是子目录本身,而是其父目录!)应该有助于解决问题。

不幸的是,即使执行了“文件>无效缓存/重启”操作,这对我仍然没有用。导入仍然显示“模块未安装...”的提示。 - Adam Skinner
这应该可以工作 - 除非 @subdirectory 不匹配实际文件夹名称。 - lena
它并不是 - 实际上它以@为前缀 - 因此,例如我们有一个 /src/realm/package.json 看起来像这样: { "name": "@realm" } - Adam Skinner
我明白了。那么将其标记为资源根目录确实没有帮助。 - lena

0

这只是一个解决方法,但你可以在项目根目录下创建一个名为any_name.js的文件,并添加以下内容:

System.config({ "paths": { 
       "@subdirectory/*": "./path/to/subdirectory/*"
      }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接