Мой проект имеет такую структуру:
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';
Это хорошо работает, и моя IDE (PhpStorm / Webstorm) будет знать, как автоматически генерировать импорт с псевдонимом путикогда я нахожусь в main.ts
.
Проблема в том, что иногда, когда я нахожусь в файле lib/files/*.ts
и я использую класс из файла-брата, IDE будет использовать тот же псевдоним, поэтому изнутриfile3.ts
Это автоматически сгенерирует один из следующих импортов:
# file3.ts
import { File2Class } from 'lib';
or
import { File2Class } from './';
Это вызывает трудную отладку ошибки компиляции. Правильный импорт из одноуровневого файла:
# file3.ts
import { File2Class } from './file2';
Поэтому мой вопрос: можно ли указать Webstorm / PhpStorm, чтобы он никогда не использовал родительский путь и никогда не импортировал из ствола в текущий или родительский файл? каталог