argv [2] NodeJs之后的concatting参数

时间:2016-08-08 08:28:38

标签: javascript arrays node.js npm

编辑:Mykola Borysyuk建议我使用node-optimist,不幸的是作者说它已被弃用并使用Minimist

阅读之后,我得到了它的基本要点,但是有人能告诉我一个例子吗?

正如标题所暗示的那样,我试图为命令组合多个参数。

换句话说...... 命令转到node init.js search <value>

显然我不知道用户在搜索后会输入多少单词,所以我想要将所有这些&#39;参数&#39;我可以将一个字符串发送到我的搜索模块。

我知道我可以使用以下内容来&#34; group&#34;所有参数都成为独立的字符串

var cmd_string = process.argv.map( function(arg){
    return "'" + arg.replace(/'/g, "'\\''") + "'";
}).join(' ');

这可以输出所有参数

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

但我不知道如何在process.argv[2];

之后提取值

奖励:如果可能,您是否也可以向我展示或链接我能够搜索--option=value等标志的方式

我花了几个小时冲浪Reddit和谷歌并且做得很短,所以希望你能提供一些见解。

1 个答案:

答案 0 :(得分:2)

要获得所有可以使用的参数

^(?<!([a][b][c])).*(?!([d][e][f])$)

例如:

process.argv

process.argv就像:

node test.js arg1 arg2

在您可以使用参数执行所有操作后,例如,加入字符串:

[NodeJs path, file path, arg1, arg2]

要跳过两个元素,您可以使用以下内容:

process.argv.join('');

或     process.argv.slice(2)