2016-05-21 21 views
0

這不是一個真正的代碼沉重的問題,因爲它更像是一種概念類型。NodeJS兩個「需求」參數

var args = require('minimist')(process.argv.slice(2), {string: "name"}); 

上面的代碼是如何工作的?我知道我在NPM中加入了最小化庫,但我不太明白爲什麼會有(process.argv.slice(2))。他們有兩個開放的括號。

我不知道這個過程是如何在Javascript中調用的。這種形式的用法('minimist')(process.argv.slice ....)是否有任何名稱?

+0

require語句返回在「minimist」模塊中定義的module.exports,它是一個函數,括號將函數與2個參數一起應用。返回值存儲在「args」變量中。 – samsonthehero

回答

3

您的代碼就相當於:

var minimist = require('minimist'); 
var args = minimist(process.argv.slice(2), {string: "name"}); 

這意味着,你的代碼的第二個括號實際上是調用minimist(或者更確切地說,由minimist模塊導出的函數)有兩個參數:

  1. process.argv.slice(2):命令行中的所有參數
  2. {string: "name"}:選項對象

我不知道任何官方名稱。