1
当我输入npm run <command>
时会发生什么? 是对<命令>传递给SH壳,如:npm如何运行?
sh -c <command>
与添加到外壳额外的局部变量,即到node_modules/.bin
的路径?
我以为npm只能通过使用节点在JavaScript中工作,但似乎还有很多事情要做。如何处理&
和&&
?是globstar安全使用?
当我输入npm run <command>
时会发生什么? 是对<命令>传递给SH壳,如:npm如何运行?
sh -c <command>
与添加到外壳额外的局部变量,即到node_modules/.bin
的路径?
我以为npm只能通过使用节点在JavaScript中工作,但似乎还有很多事情要做。如何处理&
和&&
?是globstar安全使用?
npm run-script <command>
使用sh -c
在窗口上运行命令和cmd /d /s /c
。 (source)它由child_process.spawn运行。
npm env
列出npm在运行命令时使用的环境。 documentation列出了它添加到环境中的一些东西。这包括package.json
,您提到的PATH
以及更多内容。
&
和&&
由壳处理,但spawn
正在等待进程结束,即使它被放在后台由&
。 &&
正在按照您习惯于sh
的方式工作。
globstar将按照您的预期工作,除非您在Windows上使用通配符。
关于'node_modules/.bin'的旁注:在unix下,该文件夹包含对模块.js脚本的符号链接。在Windows下,它们包含用节点调用.js脚本的.cmd文件。 – chris