Автоматический запуск скрипта или сервера разработки при входе в Windows
В Windows есть два обычных способа что-то запускать при входе: ярлык в папке автозагрузки
(нажмите Win+R, введите shell:startup, нажмите Enter) или задача планировщика заданий с
триггером «При входе в систему». Любой из них запускает программу или скрипт, например прямо
команду вашего сервера разработки, но тогда ничто не отслеживает его, не показывает его вывод
и не останавливает его за вас.
Что предлагает Moonpool
Заголовок раздела «Что предлагает Moonpool»В Moonpool нет настройки запуска при входе, а у записи в apps.json нет поля, которое запускало бы
её при старте Moonpool (полный список см. в разделах Поля приложения и
settings.json). Вы можете сами запускать Moonpool при входе, а затем
пусть скрипт запускает нужные приложения тем же вызовом, который предлагает
командная строка.
Сначала зарегистрируйте приложение как обычно:
{ "id": "site", "name": "Site", "group": "Web apps", "type": "web", "cwd": "C:\\code\\site", "command": "npm run dev", "port": 5173, "url": "http://localhost:5173"}Затем сохраните следующее как start-moonpool-apps.ps1. Для установленной копии программа -
%USERPROFILE%\.moonpool\moonpool.exe; для портативной копии используйте путь к exe-файлу этой копии.
$mp = "$env:USERPROFILE\.moonpool\moonpool.exe"Start-Process $mpStart-Sleep -Seconds 15& $mp launch siteЧтобы launch был передан Moonpool, он уже должен работать; если в памяти ничего нет, та же
команда запускает новый Moonpool, а сам вызов не выполняется. Задержка даёт ему время запуститься,
поэтому на медленном компьютере увеличьте её. Добавьте по одной строке & $mp launch <id> на
каждое приложение.
Наконец, поместите ярлык на этот скрипт в папку автозагрузки со следующим объектом:
powershell.exe -NoProfile -WindowStyle Hidden -File "C:\Users\you\start-moonpool-apps.ps1"Чтобы проверить, что произошло, добавьте к команде --ticket t1 и прочитайте результат в
state.json (Чтение результата).
Оговорки
Заголовок раздела «Оговорки»- Сервер разработки, запущенный таким способом, «управляется» Moonpool, как и любой другой, поэтому Остановка и Выход на него действуют. Если то же приложение уже запущено (например, вручную), Moonpool показывает его как работающее, но не управляемое.
- Moonpool не перезапускает приложение, которое завершилось, и не помнит, какие приложения работали при вашем прошлом выходе.
См. также
Заголовок раздела «См. также»Moonpool: бесплатное программное обеспечение от FasterDB