Как смотреть и перезагружать ts-node при изменении файлов TypeScript
Я пытаюсь запустить сервер dev с TypeScript и угловым приложением без транспилирования ts-файлов каждый раз. Я обнаружил, что могу работать с ts-node но я тоже хочу посмотреть .ts файлы и перезагрузить приложение / сервер, как я бы сделал с чем-то вроде gulp watch.
5 ответов:
я боролся с тем же самым для моей среды разработки, пока не заметил, что api nodemon позволяет нам изменить его поведение по умолчанию, чтобы выполнить пользовательскую команду. Пример этого будет выглядеть следующим образом:
nodemon --watch 'src/**/*.ts' --ignore 'src/**/*.spec.ts' --exec 'ts-node' src/index.tsили даже лучше и экстернализировать конфигурацию nodemon как Sandokan sugested к nodemon.JSON файл со следующим содержимым, а затем просто запустить nodemon:
{ "watch": ["src/**/*.ts"], "ignore": ["src/**/*.spec.ts"], "exec": "ts-node ./index.ts" }благодаря этому вы сможете жить-перезагрузить a процесс ts-node без необходимости беспокоиться о базовой реализации.
Ура!
обновлено для последней версии nodemon:
создать
nodemon.jsonфайл со следующим содержимым.{ "watch": ["src"], "ext": "ts", "ignore": ["src/**/*.spec.ts"], "exec": "ts-node ./src/index.ts" }
вот альтернатива Heberlz's ответ, используя сценарии npm.
мой
package.json:"scripts": { "watch": "nodemon -e ts -w ./src -x npm run watch:serve", "watch:serve": "ts-node --inspect src/index.ts" },
-eфлаг устанавливает расширения для поиска,-wустанавливает наблюдаемый каталог,-xвыполняет скрипт.
--inspectнаwatch:serveскрипт на самом деле является узлом.флаг js, он просто включает протокол отладки.
специально для этой проблемы я создал
tsc-watchбиблиотека. вы можете найти его на npm.очевидный случай использовать:
tsc-watch server.ts --outDir ./dist --onSuccess "node ./dist/server.ts"
Я свалил
nodemonиts-nodeв пользу гораздо лучшей альтернативой,ts-node-devhttps://github.com/whitecolor/ts-node-devпросто запустить
ts-node-dev src/index.ts
Comments