WebStorm无法识别导入中的index.ts文件

时间:2016-08-18 09:29:52

标签: intellij-idea typescript import webpack webstorm

我有一个使用Webpack的项目设置。我有不同目录的一些别名:

alias {
    shared/common: path.join(__dirname, 'src/main/js/publish/shared/common')
    app/common: path.join(__dirname, 'src/main/js/publish/app/common')
}

在某些文件中,我想从单个barrel导入不同的模块:

import { Comp1, Comp5, Comp7 } from 'shared/common/components';

为了完成这项工作,我在shared/common/components内创建了一个桶index.ts文件:

import { Comp1 } from '.comp1/comp1.comp';
import { Comp2 } from '.comp2/comp2.comp';
import { Comp3 } from '.comp3/comp3.comp';
....
import { CompN } from '.compN/compN.comp';

export {
    Comp1,
    Comp2,
    Comp3,
    ...
    CompN
}

虽然编译得很好,但WebStorm在第一次导入时显示错误,说它无法解析所有这些符号。

我尝试将src/main/js/publish标记为资源根,因为该目录包含sharedapp,但仍然无效。

如果我将导入更改为:

,它可以正常工作
import { Comp1, Comp5, Comp7 } from 'shared/common/components/index.ts';

有没有办法让WebStorm识别那些index.ts文件而不在导入中实际写入它们?

1 个答案:

答案 0 :(得分:0)

正如@anstarovoyt在他的评论中指出的那样,在更新到WS2016.2之后问题得到解决。

所以似乎只有两个选项是更新您的WebStorm或继续在导入中编写扩展名:

import { Comp1, Comp5, Comp7 } from 'shared/common/components/index.ts';