我有一个使用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
标记为资源根,因为该目录包含shared
和app
,但仍然无效。
如果我将导入更改为:
,它可以正常工作import { Comp1, Comp5, Comp7 } from 'shared/common/components/index.ts';
有没有办法让WebStorm识别那些index.ts文件而不在导入中实际写入它们?
答案 0 :(得分:0)
正如@anstarovoyt在他的评论中指出的那样,在更新到WS2016.2
之后问题得到解决。
所以似乎只有两个选项是更新您的WebStorm或继续在导入中编写扩展名:
import { Comp1, Comp5, Comp7 } from 'shared/common/components/index.ts';