Как я могу заставить скрипт Typescript использовать пути, определенные в tsconfig?
В моем проекте NodeJS/Typescript я создал сценарий database-init.script.ts
который я запускаю для инициализации базы данных образцами данных.
Мой package.json выглядит так:
{
"name": "myproject",
....
"scripts": {
...
"mongodb-setup": "tsc ./scripts/mongodb-setup.ts && node ./scripts/mongo-setup.js"
}
Проблема в том, что скрипт импортирует некоторые файлы, которые сами используют tsconfig. paths
ярлыки. Например, в некоторых файлах
import {AccountSchema} from '@schemas/account.schema'
...
Мой сценарий не работает, потому что он не распознает их. Это дает мне
error TS2307: Cannot find module '@schemas/account.schema' or its corresponding type declarations.
1 import {AccountSchema} from '@schemas/account.schema";
Как я могу заставить сценарий распознавать пути, определенные tsconfig, без компиляции всего проекта?
1 ответ
Решение
Похоже, вы ищете ts-node.
{
"name": "myproject",
....
"devDependencies": {
...
"ts-node": "*"
},
"scripts": {
...
"mongodb-setup": "node -r ts-node/register ./scripts/mongo-setup.ts"
}
}