WebStorm生成错误的导入路径

时间:2019-11-07 20:05:19

标签: phpstorm webstorm tsconfig

我的项目具有以下结构:

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不要使用父路径,也不要从当前目录或父目录中的桶中导入?

0 个答案:

没有答案