我的项目具有以下结构:
root/
---tsconfig.json
---app/
------main.ts
---lib/
------public_api.ts
------files/
---------index.ts
---------file2.ts
---------file3.ts
index.ts
中的lib/
文件是桶状文件,可导出./files
中的所有文件:
# index.ts
export * from './file2';
export * from './file3';
public_api.ts
文件导出桶暴露的任何东西
# public_api.ts
export * from './files'
最后,tsconfig
对于lib/
下的所有文件都具有路径别名,如下所示:
"paths": {
"lib": ["lib/public_api.ts"]
}
通过此设置,可以从应用程序的main.ts
中导入我的库类,而无需使用完整路径:
# main.ts
import { File2Class } from 'lib';
效果很好,当我进入main.ts
时,我的IDE(PhpStorm / Webstorm)将知道会自动生成带有路径别名的导入。
问题是,有时当我在lib/files/*.ts
文件中并且使用同级文件中的类时,IDE将使用相同的别名,因此从file3.ts
内部它将自动生成这些进口商品之一:
# file3.ts
import { File2Class } from 'lib';
or
import { File2Class } from './';
这会导致难以调试的编译错误。从同级文件正确导入将是:
# file3.ts
import { File2Class } from './file2';
所以我的问题是:是否可以指示Webstorm / PhpStorm不要使用父路径,也不要从当前目录或父目录中的桶中导入?