#typescript #tsconfig
#typescript #tsconfig
Вопрос:
Это старый вопрос, но я не нашел точного ответа.
Я хочу ссылаться на свои модули в моем проекте TS без использования синтаксиса импорта ‘../.. / .. / etc’. Я внес следующие изменения:
...
baseUrl: ".",
paths: {
"@orm/*": ["./src/orm/*"]
}
...
среда IDE довольна (VSCode), и intellisense уважает, когда я ссылаюсь
import {} from '@orm/something'
но когда я его компилирую, я получаю require(‘@orm / something’) в моем скомпилированном js-файле, и, конечно, этот путь не существует.
Пример скомпилированной папки:
dst
--orm
----something.js
--another_folder
----myfile.js (here is import {} from '@orm/something')
И вот мой файл tsconfig:
{
"compilerOptions": {
"outDir": "dst",
"experimentalDecorators": true,
"module": "commonjs",
"target": "es5",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"sourceMap": false,
"baseUrl": ".",
"paths": {
"@orm/*": ["./src/orm/*"]
}
},
"compileOnSave": false
}
Я не понимаю, что я делаю не так, я не хочу использовать что-то вроде webpack для обхода, я хочу сохранить свою структуру папок для разработки.
Пожалуйста, помогите)
Комментарии:
1. Пока вы остаетесь в разработке, возможно, есть возможность удалить «outDir»: «dst» в настройках вашего компилятора. При компиляции в летнее время вы перемещаете свои файлы, и ссылка прерывается.
2. Даже если бы я это сделал, папки @orm нет. В любом случае, это неправильный способ, это должен быть псевдоним, и он должен быть перенесен на существующий адрес.