2017-12-15 2 views
0

Ich habe ein Skript geschrieben, das Screenshots meiner eckigen Anwendung erstellt. Das Problem ist, dass das Skript nur funktioniert, wenn ich vor dem Skript manuell mit dem Serving-Vorgang anfange. Meine Frage ist, kann ich sagen, ng dienen, um ein Skript zu starten, wenn der Entwicklungsserver läuft und läuft. Ich versuchte ng serve && node screenshot-generation.js, aber das screenshot-generation script wird nicht ausgeführt, da ng serve nicht fertig ist.Starten Sie das Skript nach dem Ng-Serve ist up

Vielen Dank für Ihre Hilfe.

Antwort

0

Ich weiß nicht, was Sie dort versuchen, aber Sie führen zwei Server mit diesen Befehlen.

Sie könnten Ihre Anwendung mit Node und nicht mit ng serve bedienen.

Haben Sie ein Skript erstellt, um einen Screenshot nur einmal zu erstellen, oder um es Ihren Benutzern zur Verfügung zu stellen? Denn wenn es der erste ist, öffne einfach einen anderen Tab und du solltest gut sein.

+0

Mein Screenshot-Generierungsskript verwendet https://github.com/GoogleChrome/puppeteer, um die Screenshots zu erstellen. Aber der Puppenspieler kann nur durch meine App navigieren, wenn der Dev-Server läuft. Das Skript sollte die Screenshots nur einmal erstellen und dann beenden. – Snake

+0

Das beantwortet meine Frage nicht: Möchten Sie es einmal ausführen, oder möchten Sie, dass Ihre Benutzer es ausführen? Wenn Sie einmal geöffnet haben, öffnen Sie einfach einen anderen Tab und starten Sie ihn! – trichetriche

0

Da Ihr Server nicht beendet wird und keinen Beendigungscode erzeugt, wird der zweite Prozess nicht gestartet. Ich sehe mindestens zwei Ansätze zur Lösung dieser Aufgabe:

1) Starten Sie service1, warten Sie nicht auf den Ausgang, schlafen für einige Sekunden und starten Sie service2 wie ng serve & sleep 5s && node screenshot-generation.js (bitte beachten Sie eine &). Nachteil ist, dass Sie nicht sicher sein können, dass service1 läuft.

2) Erstellen Sie einen kleinen Node-Wrapper, der Ihren Server1 über den untergeordneten Prozess exec startet, wartet, dass er ausgeführt wird, und starten dann service2.

Verwandte Themen