При отладке экспресс-сервера мой процесс «сборки и запуска» состоит из 3 шагов:
- Компиляция источников TypeScript с использованием
tsc
- Копирование статических файлов, таких как изображения и шаблоны, в
dist/
- Запустите скомпилированный
server.js
файл
Каждый из этих шагов можно автоматизировать с помощью режима просмотра , но я изо всех сил пытаюсь объединитьтри вместе.Мне удалось заставить его работать, используя tsc-watch для просмотра источников TypeScript, cpx для копирования статических файлов и, наконец, nodemon для перезапуска сервера.Этот подход работает , но есть несколько проблем:
cpx
просматривает только файлы, которые существовали на момент его запуска (я думаю, tsc-watch
делает это тоже иногда , это немного странно) - Этот подход требует 3 команды в 3 отдельных терминалах, что просто неудобно
- Оба
cpx
& tsc-watch
не обрабатываются Ctrl+C
правильно завершить работу, вызывая всевозможные проблемы
I найдено некоторые другие вопросы , которые относятсяна эту тему, но никто из них не решает вышеупомянутые проблемы (хотя они и рассказали мне о cpx & tsc-watch).Я не хочу использовать одновременно , потому что это может вызвать проблемы с синхронизацией и смешивать вывод консоли из разных процессов (особенно tsc-watch
и реального сервера).
Использование tsc-watch
'es --onSuccess
для копирования статических файлов недостаточно, так как изменения в файлах шаблона не будут приниматься.Это можно обойти, изменив комментарий в исходном файле, но это вызывает полную перекомпиляцию (перезапуск сервера).Использование режима просмотра webpack также будет недостаточным, так как он не воспринимает новые файлы и еще больше загрязняет вывод консоли.
Есть ли какие-либо решения для этого, которые я могу иметьпропущенный?Должен ли я просто написать скрипт, который автоматически открывает 3 необходимых терминала?