У меня есть приложение, для работы которого требуется куча движущихся частей, и я бы хотел настроить все так, чтобы WebStorm мог запустить все это.
Пример того, что мне нужно сделать:
- Открыть SSH-туннель к базе данных, что можно выполнить с помощью сценария.
- Запустите API с помощью сценария NPM, который запускается
nodemon
- Присоединитеотладчик настроен на автоматическое переподключение к nodemon
- Запустите сервер угловой разработки для внешнего интерфейса
- Запустите обратный прокси-сервер HTTP, чтобы поместить все это в одно и то же пространство URL - интерфейс вызывает APIиспользование корневых URL-адресов, а серверная часть не позволяет CORS
- отладить приложение в Chrome
Это вызвало у меня кучу проблем:
- Я не могу выразить зависимости с помощью «Перед запуском», которые просто не сработают, потому что WebStorm ожидает завершения задач «до»;очевидно, что этот процесс действительно должен выполняться непрерывно.
- Составные конфигурации могут запускать все конфигурации своих компонентов только в режиме «Выполнить» или в режиме «Отладка».Вы также можете использовать только режим, который есть у всех компонентов;например, если у вас есть конфигурация скрипта (которую нельзя отладить) и подключенный отладчик (который нельзя запустить без отладки), вы получите конфигурацию, которая вообще не может быть запущена.
- ЕслиЯ использую составную конфигурацию без туннеля, который по-прежнему означает, что сервер будет работать в режиме отладки, который я на самом деле не хочу, потому что я присоединяюсь к нему из другой конфигурации.Фронтенд-сервер также будет работать в режиме отладки, что также бессмысленно.
- В общем случае nodemon выглядит неаккуратно при запуске из WebStorm, возможно, из-за NPM;когда я останавливаю отладку, он на самом деле ничего не делает, а когда я впоследствии убиваю процесс, nodemon говорит, что это «перезапуск дочернего процесса», но на самом деле он завершает работу nodemon;кроме того, что WebStorm этого не замечает, вы должны сами закрыть вкладку отладчика.
Кому-нибудь удалось запустить что-то подобное без необходимости запускать каждый шаг сам по себе?