util.parseArgs([config])
-
config
<Object> 用于提供解析参数和配置解析器。config
支持以下属性:¥
config
<Object> Used to provide arguments for parsing and to configure the parser.config
supports the following properties:-
args
<string[]> 参数字符串数组。默认值:process.argv
删除了execPath
和filename
。¥
args
<string[]> array of argument strings. Default:process.argv
withexecPath
andfilename
removed. -
options
<Object> 用于描述解析器已知的参数。options
的键是选项的长名称,值是 <Object>,接受以下属性:¥
options
<Object> Used to describe arguments known to the parser. Keys ofoptions
are the long names of options and values are an <Object> accepting the following properties:-
type
<string> 参数类型,必须是boolean
或string
。¥
type
<string> Type of argument, which must be eitherboolean
orstring
. -
multiple
<boolean> 是否可以多次提供该选项。如果为true
,则所有的值都会被收集到一个数组中。如果为false
,则选项的值是最后获胜的。默认值:false
。¥
multiple
<boolean> Whether this option can be provided multiple times. Iftrue
, all values will be collected in an array. Iffalse
, values for the option are last-wins. Default:false
. -
short
<string> 选项的单个字符别名。¥
short
<string> A single character alias for the option. -
default
<string> | <boolean> | <string[]> | <boolean[]> 如果选项未出现在要解析的参数中,则分配给该选项的值。值必须与type
属性指定的类型匹配。如果multiple
等于true
,则必须为数组。当选项出现在要解析的参数中时,即使提供的值为 false,也不会应用默认值。¥
default
<string> | <boolean> | <string[]> | <boolean[]> The value to assign to the option if it does not appear in the arguments to be parsed. The value must match the type specified by thetype
property. Ifmultiple
istrue
, it must be an array. No default value is applied when the option does appear in the arguments to be parsed, even if the provided value is falsy.
-
-
strict
<boolean> 当遇到未知参数时,或者当传入的参数与options
中配置的type
不匹配时,是否应该抛出错误。默认值:true
。¥
strict
<boolean> Should an error be thrown when unknown arguments are encountered, or when arguments are passed that do not match thetype
configured inoptions
. Default:true
. -
allowPositionals
<boolean> 此命令是否接受位置参数。默认值:如果strict
是true
,则为false
,否则为true
。¥
allowPositionals
<boolean> Whether this command accepts positional arguments. Default:false
ifstrict
istrue
, otherwisetrue
. -
allowNegative
<boolean> 如果是true
,则允许通过在选项名称前加上--no-
来明确将布尔选项设置为false
。默认值:false
。¥
allowNegative
<boolean> Iftrue
, allows explicitly setting boolean options tofalse
by prefixing the option name with--no-
. Default:false
. -
tokens
<boolean> 返回解析的令牌。这对于扩展内置行为很有用,从添加额外检查到以不同方式重新处理令牌。默认值:false
。¥
tokens
<boolean> Return the parsed tokens. This is useful for extending the built-in behavior, from adding additional checks through to reprocessing the tokens in different ways. Default:false
.
-
-
返回:<Object> 解析后的命令行参数:
¥Returns: <Object> The parsed command line arguments:
-
values
<Object> 解析的选项名称与其 <string> 或 <boolean> 值的映射。¥
values
<Object> A mapping of parsed option names with their <string> or <boolean> values. -
positionals
<string[]> 位置参数。¥
positionals
<string[]> Positional arguments. -
tokens
<Object[]> | <undefined> 参见 parseArgs 标记 部分。仅当config
包含tokens: true
时才返回。¥
tokens
<Object[]> | <undefined> See parseArgs tokens section. Only returned ifconfig
includestokens: true
.
-
为命令行参数解析提供比直接与 process.argv
交互更高级别的 API。采用预期参数的规范并返回带有解析选项和位置的结构化对象。
¥Provides a higher level API for command-line argument parsing than interacting
with process.argv
directly. Takes a specification for the expected arguments
and returns a structured object with the parsed options and positionals.
import { parseArgs } from 'node:util';
const args = ['-f', '--bar', 'b'];
const options = {
foo: {
type: 'boolean',
short: 'f',
},
bar: {
type: 'string',
},
};
const {
values,
positionals,
} = parseArgs({ args, options });
console.log(values, positionals);
// Prints: [Object: null prototype] { foo: true, bar: 'b' } []
const { parseArgs } = require('node:util');
const args = ['-f', '--bar', 'b'];
const options = {
foo: {
type: 'boolean',
short: 'f',
},
bar: {
type: 'string',
},
};
const {
values,
positionals,
} = parseArgs({ args, options });
console.log(values, positionals);
// Prints: [Object: null prototype] { foo: true, bar: 'b' } []