Salta ai contenuti

Esegui un server di sviluppo npm in background su Windows senza una finestra di terminale

Un server di sviluppo avviato con npm run dev gira nel terminale che lo ha lanciato, quindi chiudendo quella finestra si ferma. Il modo semplice di Windows per tenerlo attivo è un processo nascosto, ad esempio Start-Process npm.cmd -ArgumentList "run","dev" -WindowStyle Hidden in PowerShell, ma poi non hai output da leggere e per arrestarlo devi cercare il node.exe giusto (vedi Trovare e terminare il processo che usa una porta).

Moonpool esegue il comando in una propria scheda del terminale integrata nella finestra hub, quindi non c’è alcuna finestra di console separata da tenere aperta. Nascondi l’hub nell’area di notifica e il server continua a girare. Aggiungi l’app una volta sola:

apps.json
{
"id": "site",
"name": "Site",
"group": "Web apps",
"type": "web",
"cwd": "C:\\code\\site",
"command": "npm run dev",
"port": 5173,
"url": "http://localhost:5173",
"openBrowser": true
}

Fai clic sul controllo Avvia dell’app. Il pallino di stato diventa pieno quando port risponde, e il browser si apre su url grazie a openBrowser. Fai clic sul nome dell’app per leggerne l’output nella sua scheda. Arresta termina il terminale e tutto ciò che ha avviato, e libera la porta (killMode port è il valore predefinito per web).

Mantienilo in esecuzione quando chiudi la finestra

Sezione intitolata “Mantienilo in esecuzione quando chiudi la finestra”

Per impostazione predefinita il pulsante di chiusura fa uscire Moonpool, e su Windows uscire arresta ogni app che ha avviato. Attiva Chiudi nella barra delle applicazioni nelle Impostazioni e chiudendo la finestra questa viene solo nascosta. L’icona nell’area di notifica (o Mostra Moonpool) la riporta indietro. I dettagli sono in Area di notifica, chiusura e riduzione a icona.

Moonpool stabilisce lo stato In esecuzione da port. Vite passa alla successiva porta libera quando la sua è occupata, e questo lascerebbe Moonpool a controllare la porta sbagliata. Passa --strictPort così Vite termina invece di spostarsi, e imposta port di conseguenza:

command
npm run dev -- --port 5173 --strictPort

Se la porta è già occupata, vedi Risolvere EADDRINUSE e «Port 5173 is in use».

Moonpool è software gratuito di FasterDB