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