節點,從命令行接受參數

如何在通過命令行傳遞的Node.js程序中接受參數

使用以下命令調用Node.js應用程序時,可以傳遞任意數量的參數

node app.js

參數可以是獨立的,也可以具有鍵和值。

例如:

node app.js flavio

或者

node app.js name=flavio

這將改變您在節點代碼中檢索此值的方式。

您檢索它的方式是使用process內置到Node中的對象。

它暴露了argv屬性,它是一個包含所有命令行調用參數的數組。

第一個參數是node命令。

第二個元素是正在執行的文件的完整路徑。

從第三個位置開始,所有其他參數都存在。

您可以使用循環遍歷所有參數(包括節點路徑和文件路徑):

process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`)
})

您可以通過創建一個排除前2個參數的新數組來僅獲取其他參數:

const args = process.argv.slice(2)

如果您有一個沒有索引名稱的參數,例如:

node app.js flavio

您可以使用

const args = process.argv.slice(2)
args[0]

在這種情況下:

node app.js name=flavio

args[0]name=flavio,您需要對其進行解析。

最好的方法是使用minimist庫,它有助於處理參數:

const args = require('minimist')(process.argv.slice(2))
args['name'] //flavio

免費下載我的Node.js手冊


更多節點教程: