Heim >Web-Frontend >js-Tutorial >Wie kann ich dynamische Befehlszeilenargumente an npm-Skripte übergeben?

Wie kann ich dynamische Befehlszeilenargumente an npm-Skripte übergeben?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 02:52:09133Durchsuche

How Can I Pass Dynamic Command Line Arguments to npm Scripts?

Erzielen dynamischer Befehlszeilenargumente mit npm-Skripten

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.

npm 2 und neuer

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn