首頁 >web前端 >js教程 >如何將動態命令列參數傳遞給 npm 腳本?

如何將動態命令列參數傳遞給 npm 腳本?

Barbara Streisand
Barbara Streisand原創
2024-12-04 02:52:09179瀏覽

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

使用 npm 腳本實作動態命令列參數

在開發領域,通常需要將參數傳遞給透過 npm 指令執行的腳本。本文深入探討了使用 npm 腳本實現此目標的可能性。我們的重點將放在較新版本的 npm(2 及更高版本)及其對向腳本傳遞參數的強大支援。

npm 2 和更新版本

對於npm 2 及後續版本,以下語法將參數傳遞給npm run 指令如下:

npm run <command> [-- <args>]

分隔符號“--”至關重要,因為它分隔了要傳遞的參數npm 來自那些適用於您的腳本的內容。這是一個範例:

npm run grunt -- task:target  // Invokes `grunt task:target`
npm run server -- --port=1337 // Invokes `node server.js --port=1337`

請注意,如果您的參數不是以「-」或「--」開頭,則明確「--」分隔符號是可選的,但為了清晰起見,仍然建議使用。

npm run grunt task:target     // Also invokes `grunt task:target`

但是要小心以「-」或「--」開頭的參數,因為npm 會將它們解釋為自己的選項,而不是將它們傳遞給script.

['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

要擷取腳本中的參數值,可以使用process.argv。對於更複雜的處理,像 yargs 或 minimist 這樣的函式庫非常適合解析命名參數和處理 process.argv 公開的空格分隔的命令列參數。

以上是如何將動態命令列參數傳遞給 npm 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn