欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

輸入npm?run?xxx后執(zhí)行原理深入解析

 更新時間:2022年07月05日 10:07:14   作者:故友  
這篇文章主要為大家介紹了輸入npm?run?xxx后執(zhí)行原理深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

當我們輸入npm run XXX會首先去package.json文件里找scripts 里找對應的xxx,然后執(zhí)行 xxx的命令,例如我下面這個項目輸入npm run dev就會執(zhí)行vue-cli-service serve 這條命令。

package.json文件

那么問題來了:

為什么不直接執(zhí)行vue-cli-service serve而要執(zhí)行npm run serve 呢?

因為 直接執(zhí)行vue-cli-service serve,會報錯,因為操作系統中沒有存在vue-cli-service這一條指令。

那么問題又來了:

為什么執(zhí)行npm run serve的時候,這樣它就能成功,而且不報指令不存在的錯誤呢?

我們在安裝依賴的時候,是通過npm i xxx 來執(zhí)行的,例如 npm i @vue/cli-service,npm 在 安裝這個依賴的時候,就會node_modules/.bin/ 目錄中創(chuàng)建 好vue-cli-service 為名的幾個可執(zhí)行文件了。

.bin 目錄,這個目錄不是任何一個 npm 包。目錄下的文件,表示這是一個個軟鏈接,打開文件可以看到文件頂部寫著 #!/bin/sh ,表示這是一個腳本。

由此我們可以知道,當使用 npm run serve 執(zhí)行 vue-cli-service serve 時,雖然沒有安裝 vue-cli-service的全局命令,但是 npm 會到 ./node_modules/.bin 中找到 vue-cli-service 文件作為 腳本來執(zhí)行,則相當于執(zhí)行了 ./node_modules/.bin/vue-cli-service serve(最后的 serve 作為參數傳入)。

總結

  • 運行 npm run xxx的時候,npm 會先在當前目錄的 node_modules/.bin 查找要執(zhí)行的程序,如果找到則運行;
  • 沒有找到則從全局的 node_modules/.bin 中查找,npm i -g xxx就是安裝到到全局目錄;
  • 如果全局目錄還是沒找到,那么就從 path 環(huán)境變量中查找有沒有其他同名的可執(zhí)行程序。

參考 http://www.dbjr.com.cn/article/254116.htm

以上就是輸入npm run xxx后執(zhí)行原理深入解析的詳細內容,更多關于npm run xxx執(zhí)行原理的資料請關注腳本之家其它相關文章!

相關文章

最新評論