2017-01-24 4 views
0

Ich bin ein tutorial auf Lesetests die ersten Schritte mit Node.js Einheit:Knoten JS - Separator

Wir haben unsere Tests einrichten auf Dateiänderungen auszuführen, indem es das nach dem die package.json:

"scripts": { 
    "test": "mocha -R spec test/*-spec.js", 
    "watch": "npm test -- --watch" 
} 

Es gibt eine Anmerkung:

Kommandozeilenoptionen vorbei mit - Separator erfordert Node> 0,11

Was ist der -- Separator?

Ist es ein Schalter? Eine Flagge? Ist ein Standard für Node.js-Befehlszeilen-Apps? Wo kann ich mehr darüber lesen?

+0

Siehe https://unix.stackexchange.com/questions/11376/what-does-double-dash-mean-als-known-as-bare-double-dash. In diesem Fall werden die npm-Flags von zusätzlichen Argumenten zum Testskript getrennt. – Ryan

+0

Also in diesem Kontext ist 'npm' die ausführbare Datei,' test' ein Unterbefehl, der ein anderes Skript ausführt, mocha -R spec test/* - spec.js'. Der "--watch" Schalter ist für das andere Skript gedacht (und so sind wir "fertig" und geben ihm Argumente/Optionen), so dass wir das '-' Trennzeichen geben, das uns den '--watch' Schalter zum anderes Skript? – mbigras

+0

Genau richtig! Das würde eine gute Selbstantwort ergeben. – Ryan

Antwort

1

Lesen another answer:

Ein doppelter Strich -- ist in bash integrierten Befehle und viele andere Befehle verwendet, um das Ende der Befehlsoptionen, um anzuzeigen,

So in diesem Zusammenhang:

  • npm ist die ausführbare Datei
  • test ein subcommand, das ein anderes Skript mocha -R spec test/*-spec.js
  • --watch ausgeführt wird, wird ein Schalter für das andere Skript gemeint
  • weil wir npm Argumente und Optionen sind „done“ geben wir geben den -- Separator, der uns den --watch Schalter passieren lässt zu das andere Skript