alex4answ
@alex4answ

Как использовать алиасы путей tsconfig?

Добрый день, почему при компиляции алиасы не заменяются на пути до модулей?
tsconfig:
"moduleResolution": "node",
"baseUrl": "./src",
"paths": {
  "@api/*": ["api/*"]
},

import routes from '@api/routes';
VS Code видит файл, при наведении показывает полный путь до него pjroot/src/api/routes.ts

Но при запуске ts-node или при компиляции и дальнейшем запуске я получаю ошибку:
Error: Cannot find module '@api/routes'

И в скомпилированных файлах алиасы остаются алиасами, не заменяются на реальные пути, можно это как-то настроить?

Иначе зачем вообще нужны алиасы в ts?
Не хотелось бы для такой простой задачи использовать сторонние модули такие как moduleAliases и тп.
Скорее всего эта задача решается силами компилятора, но нагуглить и найти решение не удалось, что я делаю не так?
  • Вопрос задан
  • 286 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Нет, решения из коробки нет. И не будет. Почему? Пошли нахрен, вот почему.
Есть куча сторонних костылей, нагугли себе по вкусу.

P.S.
Иначе зачем вообще нужны алиасы в ts?

На самом деле фичу paths запилили, чтобы отразить поведение модных сборщиков, типа webpack, а не наоборот. Т.е. предполагается, что paths используются только когда уже есть сборщик который осуществляет всю логику, а не как первичный источник конфигурации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы