baseUrl и пути в машинописи - как
Я начал приложение в машинописном тексте. Я узнал о некоторых особенностях TS, и это выглядело как что-то, что могло бы помочь мне, но я не работаю так, как я ожидал. Документация TS говорит что-то о картировании пути в главе " Разрешение модуля". Это отображение модуля может, если я правильно его понимаю, сэкономить несколько или даже много двойных точек при import
. Поэтому я создал каталог "inc" с одним файлом (в это время), который будет включен в несколько файлов в нескольких каталогах. В tsconfig я написал следующее:
"baseUrl": ".",
"paths": {
"@inc/*": [ "inc/*" ]
}
Теперь я ожидаю, что использование import { X } from "@inc/somefile"
(даже из файла, расположенного где-то глубоко в дереве папок) приведет к импорту этого export X
из. /inc/somefile.ts (или.js, при запуске).
Hovewer, компилятор/транспилятор оставит оператор import
неповрежденным, поэтому, когда я пытаюсь запустить этот код с помощью node.js
, он умрет, потому что нет @inc/somefile
- узел не читает tsconfig, а tsc не создает любые функции отображения.
Я могу, конечно, прочитать и разобрать элемент path
вручную в какой-то оболочке требуемой оболочки, но я верю, что я что-то делаю неправильно и/или лучший способ добиться этого.
Спасибо за ваши ответы.
Помните, что
если вы затем попытаетесь выполнить компиляцию файлов с помощью узла (или ts-node), он будет смотреть только в папках node_modules вплоть до корня файловой системы и, следовательно, не найдет модули, указанные путями в
tsconfig
. - введен в tsconfig-paths readme.
В заключение прямо необходимо, чтобы tsconfig-paths
в списке зависимостей и загрузка файла tsconfig при запуске могли быть быстрым решением.
- Вопросы
- Typescript
- baseUrl и пути в машинописи - как