2016-03-01 79 views
1

當我輸入npm run <command>時會發生什麼? 是對<命令>傳遞給SH殼,如:npm如何運行?

sh -c <command> 

與添加到外殼額外的局部變量,即到node_modules/.bin的路徑?

我以爲npm只能通過使用節點在JavaScript中工作,但似乎還有很多事情要做。如何處理&&&?是globstar安全使用?

回答

4

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上使用通配符

+0

關於'node_modules/.bin'的旁註:在unix下,該文件夾包含對模塊.js腳本的符號鏈接。在Windows下,它們包含用節點調用.js腳本的.cmd文件。 – chris