"compilerOptions": {
"baseUrl": ".",
"paths": {
"*": ["*", "src/*", "stories/*"]
},
}
...
"include": ["src/**/*"],
добавляю в конфиг include и абсолютные пути вне папки src ломаются
path сам по себе ничего не резолвит, это просто мапинг, мол сейчас путь такой, но на самом деле имеется ввиду вот это. ts ни как не преобразовывает такие импорты. Подразумевается что после компиляции, твой импорт будет работать в рантайме. Если код компилится для фронта, то там вебпак разрулить может. Но если это бэк, то можно легко все сломать, если не понимаешь как это работает
роллапом собираю. как тогда делать абсолютные пути импорта в проекте?
ты бэк пишешь?
фронт, либа. с относительных решил уйти и понял, что не понимаю, что такое инклюд и как работает path
я не юзал ролап, но наверняка там есть алиасы, как в вебпаке
да, там можно абсолютные импорты настроить, но все-таки вопрос к тс, как в нем абсолбтный путь использовать при разработке? да, я могу заинклюдить все каталоги и будет работать, только вот в билд будет попадать лишниее
абсолютный это от корня файловой системы. /home/user/work/myproject/src/my.ts, ты же наверное говоришь про пути отностиельно корня сорсов или проекта, типа просто import ‘my.ts’?
да, я имею в виду rootDir чтобы импорт делать без кучи точек ../../../
ts в этом не учавствует, все зависит от того кто твой модуль запускает в рантайме, тот и занимается резолвом. Если это бэк, то резолвит node.js по ее правилам. Если фронт, то тут зоопарк пошире, у вебпака своя приблуда, ролап сам не умеет, он компилит или для systemjs/requirejs или под современные браузеры кто esm поддерживают
eslint, jest, rollup
Обсуждают сегодня