#typescript #visual-studio-code #import #alias
Вопрос:
Я использую псевдонимы машинописного текста, чтобы сократить путь к импорту модулей из моего проекта. Часто, если я использую автозаполнение, vscode поможет найти импорт и автоматически импортировать его. Или, если я перемещу файл, vscode попытается помочь переписать пути импорта на основе моего tsconfig. Но происходит что-то странное. Часто я получаю автоимпорт, который выглядит так:
import { Actions } from "@src/devices/device_list/store/page/actions";
Но затем машинопись жалуется, что Module not found: Can't resolve '@src/devices/device_list/store/page/actions' in '/Users/me/Desktop/web-dev/company/project/src/devices/device_list/elements/device_dialogs'
Когда я изменю импорт вручную на этот:
import { Actions } from "@device_list/store/page/actions";
Ошибка исчезает. Но это означает, что я не могу полагаться на автоимпорт, и в итоге мне приходится вручную переписывать все строки импорта. Ничего особенного, но раздражает. Я уверен, что это связано с compilerOptions.baseUrl
моим tsconfig, который выглядит так:
{
"compilerOptions": {
"baseUrl": "./src",
"paths": {
"@src/*": ["*"],
"@devices/*": ["devices/*"],
"@device_list/*": ["devices/device_list/*"],
"...": "... more paths"
}
}
}
Причина, по которой я установил baseUrl
./src
значение «равно», заключается в том, что мне нужен способ псевдонима импорта из src
папки. Разве это неправильно? Мой vscode записывает пути автоимпорта на основе моего tsconfig, который затем в машинописном тексте говорится, что он не может разрешить?