Автоматически компилировать файлы TypeScript при сохранении файла

Я хочу перенести проект vanilla node.js на TypeScript, и мне интересно, как перезапустить мой сервер с последними изменениями без необходимости запускать tsc из командной строки каждый раз, когда я вношу изменения.

Я вижу из этого ответа два варианта: ts-node и tsc --watch

Может ли кто-нибудь немного рассказать о разнице между этими двумя вариантами? Я понимаю, что они выполняют одну и ту же цель, но чем они отличаются и в какой ситуации я должен использовать один вместо другого?


person johnnyodonnell    schedule 02.07.2018    source источник
comment
См. этот комментарий к ответу: stackoverflow.com/questions/33535879/   -  person Aankhen    schedule 02.07.2018
comment
@Aankhen, это помогает, но не полностью отвечает на мой вопрос   -  person johnnyodonnell    schedule 02.07.2018
comment
Достаточно честно… мой опыт в основном связан с ts-node, но мне сказали в IRC, что вам следует избегать его, потому что он добавляет еще один хрупкий слой, который не дает вам многого. Я все равно использовал его, потому что до сих пор удобство отсутствия необходимости компилировать мои файлы и получение номеров строк в трассировках стека, которые ссылаются на файлы TS, является ценным, и я еще не сталкивался с какими-либо проблемами, специфичными для ts-узла. .   -  person Aankhen    schedule 02.07.2018
comment
@Aankhen Это было одной из моих проблем. Я не хотел добавлять еще одну зависимость, если tsc уже сделал то же самое. Тем не менее, получение номеров строк в трассировке стека звучит как довольно солидное преимущество по сравнению с tsc. Хм, мне придется подумать об этом. Спасибо за вашу точку зрения!   -  person johnnyodonnell    schedule 02.07.2018


Ответы (1)


Вы можете добавить этот скрипт

"name_for_your_script" : "tsc <ts file name> --outFile <js file name> -w",

в ваш файл package.json в части сценариев и введите этот код

npm run name_for_your_script

в свой терминал. это автоматически скомпилирует ваши коды ts при сохранении

person Amir Almian    schedule 20.08.2020
comment
@PaulCarroll Хотя я не проверял это, но флаг -'w' в этом ответе должен сделать его автоматическим. typescriptlang.org/docs/handbook/compiler-options.html - person JeffryHouser; 08.04.2021
comment
@JeffryHouser, ты прав... я удалил свой комментарий - person Paul Carroll; 12.04.2021