Ga naar inhoud

Een npm dev-server op de achtergrond uitvoeren op Windows zonder terminalvenster

Een dev-server die met npm run dev is gestart, draait in de terminal die hem heeft gestart, dus het sluiten van dat venster beëindigt hem. De gewone Windows-manier om hem draaiend te houden is een verborgen proces, bijvoorbeeld Start-Process npm.cmd -ArgumentList "run","dev" -WindowStyle Hidden in PowerShell, maar dan heb je geen uitvoer om te lezen en betekent stoppen dat je de juiste node.exe moet opsporen (zie Het proces vinden en beëindigen dat een poort gebruikt).

Moonpool voert het commando uit in een eigen ingebouwd terminaltabblad in het hubvenster, dus er is geen apart consolevenster dat open moet blijven. Verberg de hub naar het systeemvak en de server blijft draaien. Voeg de app eenmalig toe:

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
}

Klik op de knop Starten van de app. De statusstip is egaal zodra port antwoordt en de browser opent url dankzij openBrowser. Klik op de naam van de app om de uitvoer in het eigen tabblad te lezen. Stoppen beëindigt de terminal en alles wat deze heeft gestart, en geeft de poort vrij (killMode port is de standaard voor web).

Standaard sluit de sluitknop Moonpool af, en op Windows stopt afsluiten elke app die het heeft gestart. Zet Sluiten naar systeemvak aan in Instellingen, en het sluiten van het venster verbergt het alleen nog. Het pictogram in het systeemvak (of Moonpool tonen) brengt het terug. Details staan in Systeemvak, sluiten en minimaliseren.

Moonpool bepaalt Actief aan de hand van port. Vite schuift door naar de volgende vrije poort als de eigen poort bezet is, waardoor Moonpool de verkeerde poort in de gaten houdt. Geef --strictPort mee zodat Vite in plaats daarvan stopt, en stel port er gelijk aan in:

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

Is de poort al bezet, zie dan EADDRINUSE en “Port 5173 is in use” oplossen.

Moonpool is gratis software van FasterDB