当我输入npm run <command>
时会发生什么?
&lt; command&gt; 是否已传递到 sh shell,例如:
sh -c <command>
将其他局部变量添加到shell中,即node_modules/.bin
?
我认为npm只能通过使用节点在JavaScript Universe中运行,但似乎还有很多事情要发生。如何处理&
和&&
? globstar 可以安全使用吗?
答案 0 :(得分:5)
npm run-script <command>
使用sh -c
运行命令,并使用cmd /d /s /c
在Windows上运行。 (source)它由child_process.spawn运行。
npm env
列出了npm在运行命令时使用的环境。 documentation列出了它添加到环境中的一些内容。这包括package.json
,您提及的PATH
个内容以及更多内容。
&
和&&
由shell处理,但spawn
正在等待进程结束,即使它由&
放入后台也是如此。 &&
正如您在[{1}}中所习惯的那样工作。
globstar 将按预期工作,但在具有通配符的Windows上除外。