Передача --project в ts-node, когда он зарегистрирован в nodemon
Эта команда используется для запуска моего сервера: 1
nodemon
-r ts-node/register
-r tsconfig-paths/register
--watch server/
--watch shared/
--ext ts,tsx,json
--inspect-brk=24170
./server/index.ts
Проблема в том, что мне нужно ts-node
получить --project ./tsconfig-server.json
вместо использования по умолчанию tsconfig.json
, Просто включив его после -r ts-node/register
(или где-либо еще) приводит к bad option: --project
ошибка.
С помощью --exec 'node ./node_modules/ts-node/dist/bin.js --project ./tsconfig-amd.json'
вместо -r ts-node/register
работает, но затем отладчик не может подключиться к процессу. Я предполагаю, что это потому, что он пытается присоединиться к процессу nodemon, а не к процессу узла, который запускает nodemon?
Но я не могу использовать по умолчанию tsconfig.json
имя файла здесь, потому что VS Code не поддерживает указание альтернативы tsconfig.json
и конфигурация сервера не та, которую я хочу использовать для просмотра и редактирования кода
- Команда на самом деле производится VS Code на мой
.vscode/launch.json
который выглядит так:{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "nodemon", "runtimeExecutable": "node", "args": [ "${workspaceFolder}/server/index.ts" ], "runtimeArgs": [ "${workspaceFolder}/node_modules/nodemon/bin/nodemon.js", "-r", "ts-node/register", "-r", "tsconfig-paths/register", "--watch", "server/", "--watch", "shared/", "--ext", "ts,tsx,json" ], "restart": true, "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "protocol": "inspector" } ] }
0 ответов
Вам необходимо пройти --project
значение через переменную среды "TS_NODE_PROJECT". Я делаю это в своемnodemon.json
файл
{
"restartable": "rs",
"ignore": [".git", "node_modules/**/node_modules", "src/client"],
"verbose": true,
"execMap": {
"ts": "node --require ts-node/register/transpile-only --require tsconfig-paths/register"
},
"watch": ["src/server", "typing"],
"env": {
"NODE_ENV": "development",
"TS_NODE_PROJECT": "src/server/tsconfig.json"
},
"ext": "js,json,ts"
}