運行 npm run xxx 的時候發生了什么?
?npm run xxx的時候,首先會去項目的package.json文件里找scripts 里找對應的xxx,然后執行 xxx的命令
npm i 的時候,npm 讀到該配置后,就將該文件軟鏈接到 ./node_modules/.bin 目錄下,而 npm 還會自動把node_modules/.bin加入$PATH ,就幫我們把這種軟連接配置好了,其實這種軟連接相當于一種映射,執行npm run xxx 的時候,就會到 node_modules/bin中找對應的映射文件,然后再找到相應的js文件來執行
總結
- 運行 npm run xxx的時候,npm 會先在當前目錄的 node_modules/.bin 查找要執行的程序,如果找到則運行;
- 沒有找到則從全局的 node_modules/.bin 中查找,npm i -g xxx就是安裝到到全局目錄;
- 如果全局目錄還是沒找到,那么就從 path 環境變量中查找有沒有其他同名的可執行程序。