Phpstorm WebStorm生成错误的导入路径
我的项目具有以下结构:Phpstorm WebStorm生成错误的导入路径,phpstorm,webstorm,tsconfig,Phpstorm,Webstorm,Tsconfig,我的项目具有以下结构: root/ ---tsconfig.json ---app/ ------main.ts ---lib/ ------public_api.ts ------files/ ---------index.ts ---------file2.ts ---------file3.ts lib/中的index.ts文件是一个桶形文件,用于导出/files中的所有文件: # index.ts export * from './file2'; export * from './fi
root/
---tsconfig.json
---app/
------main.ts
---lib/
------public_api.ts
------files/
---------index.ts
---------file2.ts
---------file3.ts
lib/
中的index.ts
文件是一个桶形文件,用于导出/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永远不要使用父路径,也不要从当前目录或父目录中的桶导入?请尝试在设置|编辑器|代码样式| TypeScript中使用来自tsconfig.json的路径映射选项(仅在指定路径之外的文件中设置为)-这会让事情变得更好吗?谢谢@lena我会试试的