Я работаю над монорепо с несколькими пакетами.
Представьте, что у меня есть две библиотеки a
и b
. Если внутри b
я импортирую a
, используя:
import a from '@org/a'
Во время компиляции вышеуказанный путь будет разрешен веб-пакетом (или рабочими пространствами пряжи) в ../a
, где package.json
будет инструктировать узел найти a/dist/index.js
.
Во время разработки я хочу сопоставить @org/a
с ../a/src/index.ts
, чтобы intellisense отправлял меня в исходную папку, а не в папку сборки.
TypeScript включает в себя параметр paths
tsconfig.json
, который я могу использовать внутри b
путем сопоставления:
{
"paths" {
"@org/a": ["../a/src"]
}
}
Это хорошо работает в моей IDE, однако при использовании путей tsconfig b
испускает типы a
в его build
папка при компиляции - вот так:
/src
/a
/build
index.d.ts
index.js
index.ts
/b
/build
/a
index.d.ts
/b
index.d.ts
index.js
index.ts
Для сравнения, без включения конфигурации пути tsconfig внутри b
, вот как выглядит папка b
build
:
/b
/build
index.d.ts
index.js
index.ts
Использование путей tsconfig приводит к включению файлов, которые мне не нужны в моем проекте, и ломает клавишу types
в b
package.json
Есть ли способ, которым я могу вручную настроить vscode для сопоставления путей импорта, а не искать tsconfig для этой информации?