gpt4 book ai didi

bash - 运行 npm 命令时 -- 做什么?

转载 作者:行者123 更新时间:2023-11-29 08:49:21 26 4
gpt4 key购买 nike

例如,双破折号或两个连字符 -- 的用法如下:

npm test -- --coverage

在没有双破折号标志的情况下运行 npm 不会在覆盖模式下运行,因此它似乎附加了后续标志,这是正确的吗?我找不到这方面的文档。

最佳答案

-- 作为参数本身在所有 UNIX 命令中都是标准化的:这意味着进一步的参数应该被视为位置参数,而不是选项。参见 POSIX Utility Syntax Conventions 中的指南 10 .

举一个非基于 NPM 的示例,ls -- -l 将查找名为 -l 的文件,因为 -- 指定所有后续参数都是位置参数。

在这种情况下,这意味着 --coverage 不是 npm 本身的一个选项;据推测,它随后会被 test 子命令读取。对于正确遵循约定的工具,这不是必需的,因为准则 9 指定所有选项都应在任何参数之前给出(因此在这种情况下 --coverage 应被视为参数,因为它位于参数 test 之后);但是,由于 NPM 仅部分遵循指南,因此这是可以预见的结果。

(很长的 --option 风格的选项实际上是一个整体的 GNU 扩展,所以我们这里有多种解析风格的混搭;不幸的是,这就是生活)。

关于bash - 运行 npm 命令时 -- 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43046885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com