在argv[2]NodeJ之后插入参数

Concatting arguments after argv[2] NodeJs

本文关键字:之后 插入 参数 NodeJ argv      更新时间:2023-09-26

编辑:Mykola Borysyuk建议我使用node乐观主义者,不幸的是,作者说它不推荐使用Minimist。

看完之后,我明白了它的基本要点,但有人能给我举个例子吗?


正如标题所示,我试图将多个参数组合为一个命令。

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

显然,我不知道用户在搜索后会键入多少单词,所以我想将所有这些"参数"连接到一个字符串中,然后发送到我的搜索模块。

我知道我可以使用以下方法将所有参数"分组"为独立的字符串

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和谷歌上冲浪,结果功亏一篑,所以希望你能提供一些见解。

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

process.argv

例如:

node test.js arg1 arg2

process.argv将类似于:

[NodeJs path, file path, arg1, arg2]

在您可以使用参数完成所有您想要的操作之后,例如,加入字符串:

process.argv.join('');

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

process.argv.splice(2, process.argv.length - 1)

或process.argv.slice(2(