Heim >Web-Frontend >js-Tutorial >Wie kann ich dynamische Befehlszeilenargumente an npm-Skripte übergeben?
Im Entwicklungsbereich ist es oft wünschenswert, Argumente an Skripte zu übergeben, die über npm-Befehle ausgeführt werden. Dieser Artikel befasst sich mit den Möglichkeiten, dies mit npm-Skripten zu erreichen. Unser Fokus liegt auf neueren Versionen von npm (2 und höher) und ihrer robusten Unterstützung für die Übergabe von Argumenten an Skripte.
Mit npm 2 und nachfolgenden Versionen ist die Syntax für Die Übergabe von Argumenten an npm-Ausführungsbefehle erfolgt wie folgt:
npm run <command> [-- <args>]
Das Trennzeichen „--“ ist entscheidend, da es Parameter trennt die für npm bestimmt sind, von denen, die für Ihr Skript bestimmt sind. Hier ist eine Illustration:
npm run grunt -- task:target // Invokes `grunt task:target` npm run server -- --port=1337 // Invokes `node server.js --port=1337`
Beachten Sie, dass das explizite Trennzeichen „--“ optional ist, aber aus Gründen der Klarheit dennoch empfohlen wird, wenn Ihr Argument nicht mit „-“ oder „--“ beginnt.
npm run grunt task:target // Also invokes `grunt task:target`
Seien Sie jedoch vorsichtig bei Argumenten, die mit „-“ oder „--“ beginnen, da npm diese als eigene Optionen interpretiert, anstatt sie an zu übergeben Skript.
['C:\Program Files\nodejs\node.exe', 'C:\git\myrepo\test.js', 'foobar'] // Argument passed to script ['C:\Program Files\nodejs\node.exe', 'C:\git\myrepo\test.js'] // Argument not passed to script
Um den Parameterwert in Ihrem Skript abzurufen, kann process.argv verwendet werden. Für eine komplexere Handhabung eignen sich Bibliotheken wie Yargs oder Minimist ideal zum Parsen benannter Parameter und zum Umgang mit durch Leerzeichen getrennten Befehlszeilenargumenten, die von Process.argv bereitgestellt werden.
Das obige ist der detaillierte Inhalt vonWie kann ich dynamische Befehlszeilenargumente an npm-Skripte übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!