为什么是 。作为参数传递给没有 -- 定界符的 npm?
Why is . passed as argument to npm without -- delimiter?
我无法弄清楚为什么 npm
在没有 --
分隔符的情况下使用 .
。
在下面的命令中,.
被传递给 test
脚本,没有 --
分隔符。
npm test .
test
脚本在 package.json
中定义如下:
"test": "react-app-rewired test"
将常规参数传递给 test
脚本
当我试图将 --coverage
传递给 npm test
时,这发生在我身上,但后来我发现要将参数传递给 npm 脚本,我需要在任何后续参数之前使用 --
。
如果我想传递参数,这是有效的:
npm test -- --coverage
但这不会通过 --coverage
参数
npm test --coverage
问题是为什么 .
在没有 --
的情况下通过。根据 npm 文档将任何参数传递给我们需要使用 --
分隔符的脚本,npm 将知道以下 flags/arguments 用于 test
脚本或我们想要参数化的任何其他脚本.
作为Charles Duffy explains in his answer for (强调我的):
double hyphens (--
) as an argument on its own is standardized across
all UNIX commands: It means that further arguments should be treated
as positional parameters, not options.
回答你的问题:
.
作为位置参数传递给 react-app-rewired
脚本,因为您在 运行 npm test .
.
时将其作为位置参数提供
--something
将被 npm 解释为自身的一个选项,除非它在某些时候以 --
为前缀,在这种情况下,它也将被视为位置参数。
有关命令选项、参数和参数之间差异的更详细说明,请参阅 。
我无法弄清楚为什么 npm
在没有 --
分隔符的情况下使用 .
。
在下面的命令中,.
被传递给 test
脚本,没有 --
分隔符。
npm test .
test
脚本在 package.json
中定义如下:
"test": "react-app-rewired test"
将常规参数传递给 test
脚本
当我试图将 --coverage
传递给 npm test
时,这发生在我身上,但后来我发现要将参数传递给 npm 脚本,我需要在任何后续参数之前使用 --
。
如果我想传递参数,这是有效的:
npm test -- --coverage
但这不会通过 --coverage
参数
npm test --coverage
问题是为什么 .
在没有 --
的情况下通过。根据 npm 文档将任何参数传递给我们需要使用 --
分隔符的脚本,npm 将知道以下 flags/arguments 用于 test
脚本或我们想要参数化的任何其他脚本.
作为Charles Duffy explains in his answer for
double hyphens (
--
) as an argument on its own is standardized across all UNIX commands: It means that further arguments should be treated as positional parameters, not options.
回答你的问题:
.
作为位置参数传递给 react-app-rewired
脚本,因为您在 运行 npm test .
.
时将其作为位置参数提供
--something
将被 npm 解释为自身的一个选项,除非它在某些时候以 --
为前缀,在这种情况下,它也将被视为位置参数。
有关命令选项、参数和参数之间差异的更详细说明,请参阅