2017-05-29 1 views
0

Das package.json Beispiel at this link enthält die folgenden Befehle start:Warum wird TSC zweimal in diesem npm-Startskript aufgerufen?

"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ", 

Was explizit hat der obige Befehl tun?

Ich denke, dass die "concurrently \"npm run tsc:w\" \"npm run lite\" " bedeutet sowohl tsc und lite-server gleichzeitig zu starten, und auch ein watch auf den tsc zu platzieren, so dass Änderungen in lite-server sofort neu geladen werden. Ist das richtig? Und warum auch zweimal tsc anrufen? Was ist eine explizite Erklärung der gesamten Codezeile einschließlich aller ihrer Bestandteile?

+0

Kann ich Ihr gesamtes 'scripts' Objekt in' package.json' sehen? – Li357

+0

@AndrewLi Bitte aktualisieren Sie diese Seite. Es sollte in dem Hyperlink in der OP sein, die ich eine Minute nach dem ursprünglichen Beitrag hinzugefügt habe. Können Sie es im Link sehen? – CodeMed

Antwort

3

Sie können es brechen Sie den Befehl in Teile nach unten (mit Anführungszeichen entfernt):

  1. tsc
  2. concurrently
  3. npm run tsc:w
  4. npm run lite

Der erste Teil ruft das Typoskript Compiler-CLI und kompiliert Ihre TypeScript-Dateien.

Als nächstes gibt es eine && was bedeutet "cmd1 dann/und cmd2". Der nächste Abschnitt:

concurrently npm run tsc:w npm run lite 

Verwendet die concurrently package CLI die gegebenen Befehle auszuführen, die npm run tsc:w und npm run lite sind. Der Teil:

npm run tsc:w 

Dies führt das Skript in Ihrem package.json:

"tsc:w": "tsc -w" 

npm run lite Dann läuft das entsprechende Skript in package.json:

"lite": "lite-server" 

Sie sind also technisch tsc zweimal anrufen, aber tsc:w beginnt, Ihre TypeScript-Dateien anzusehen. Die Verwendung von -w führt keinen ersten Build durch, daher wird die erste tsc benötigt, um Ihre Dateien zunächst zu erstellen, dann beobachtet -w Ihre Dateien und erstellt anschließend geänderte Dateien neu. Das Skript concurrent führt dann das Überwachungsskript und den Server aus.

Verwandte Themen