在 Linux 或 Mac 上运行带有命令行参数的 Node.js 脚本的正确语法是什么?
要运行不带参数的脚本,我只需使用 command node stuff.js
,但在这种情况下,我想运行一个stuff.js
使用 arguments调用的脚本"blah", "hee", "woohoo!"
。
在 Linux 或 Mac 上运行带有命令行参数的 Node.js 脚本的正确语法是什么?
要运行不带参数的脚本,我只需使用 command node stuff.js
,但在这种情况下,我想运行一个stuff.js
使用 arguments调用的脚本"blah", "hee", "woohoo!"
。
见http://nodejs.org/docs/latest/api/process.html#process_process_argv
总之,你会像这样运行它
node stuff.js blah hee "whoohoo!"
然后你的论点可以在process.argv
Nomnom是另一种可能的解决方案。
这个简单的节点模块也很有帮助:命令行参数
它允许定义一个简单的定义:
const optionDefinitions = [
{ name: 'verbose', alias: 'v', type: Boolean },
{ name: 'src', type: String, multiple: true, defaultOption: true },
{ name: 'timeout', alias: 't', type: Number }
]
它验证您的选项并允许您以简单的方式访问它们。
参数存储在
process.argv 并在命令行中传递参数请检查以下示例:
前任。在下面的这个例子中,我使用了指挥官 NPM 模块。 var args = 要求('指挥官')
带有指挥官的选项是使用.option()方法定义的。下面的示例从process.argv解析 args 和 options ,将剩余的 args 保留为 program.args 数组,这些数组没有被选项使用。这里process.argv是一个包含命令行参数的数组。第一个元素是“节点”,第二个元素是 JavaScript 文件的名称。下一个元素将是执行后的任何其他命令行参数。
function list(val) {
return val.split(',');
}
args.version('0.11.2')
.option('-t, --tag [value]', 'tags to ignore', list, undefined)
.parse(process.argv);
这里要从命令行获取输入,我们必须使用 -t 执行 .js 文件,然后使用逗号(,)分隔多个参数, 例如多个参数。: node example.js -t tagname 这里我使用 list 来处理多个命令行参数,这样我们就可以传递多个命令行参数 ex。node example.js -t tagname1, tagname2 所以在此之后,作为命令行参数传递的所有输入都将在名为 args 的数组中可用,因此可以将此数组用于您的目的,您可以从此处阅读更多信息:-
https://nodejs.org/docs/latest/api/process.html#process_process_argv
或者您可以使用以下模块: