npm 运行 是如何工作的?

how does npm run work?

当我键入 npm run <command> 时会发生什么? 是否传递给 sh shell,如:

sh -c <command>

在 shell 中添加了额外的局部变量,即 node_modules/.bin?

的路径

我认为 npm 只能在 JavaScript Universe 中使用节点,但似乎还有很多事情要做。 &&& 是如何处理的? globstar 使用安全吗?

npm run-script <command> 使用 sh -c 到 运行 命令,cmd /d /s /c 使用 windows。 (source) It is run by child_process.spawn.

npm env 列出了 npm 在 运行 命令时使用的环境。 documentation 列出了它添加到环境中的一些东西。这包括 package.json、您提到的 PATH 添加等内容。

&&& 由 shell 处理,但 spawn 正在等待进程结束,即使它被 &&& 与您在 sh 中习惯的方式一样工作。

globstar 将按您预期的方式工作,但在 Windows 上您使用 通配符 除外。