在開發領域,通常需要將參數傳遞給透過 npm 指令執行的腳本。本文深入探討了使用 npm 腳本實現此目標的可能性。我們的重點將放在較新版本的 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中文網其他相關文章!