Avatar ·

Wie übergibt man Befehlszeilenargumente an ein npm-Skript?

Hallo zusammen! Ich bin neu in Node.js und npm. Ich habe eine package.json mit mehreren Skripten. Zum Beispiel möchte ich Tests mit verschiedenen Parametern ausführen: manchmal mit dem Flag --watch, manchmal mit Angabe einer bestimmten Datei. Derzeit mache ich es so: ```json { "scripts": { "test": "mocha", "test:watch": "mocha --watch", "test:file": "mocha test/somefile.js" } } ``` Aber das ist furchtbar unpraktisch – ich muss für jede Variante ein separates Skript erstellen. Ich möchte ein einziges Skript `test` haben, ihm aber Argumente direkt von der Befehlszeile übergeben, zum Beispiel: ``` npm run test -- --watch npm run test -- --grep "pattern" npm run test test/mytest.js ``` Aber aus irgendeinem Grund funktioniert das nicht – die Argumente erreichen mocha nicht. Ich habe verschiedene Varianten ausprobiert: mit doppeltem Bindestrich, ohne, mit Anführungszeichen – nichts hilft. Gibt es vielleicht eine spezielle Syntax? Oder muss ich Umgebungsvariablen verwenden? Bitte sagt mir, wie man Argumente richtig an npm-Skripte übergibt. Vielen Dank im Voraus!