日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

運行 npm run xxx 的時候都執(zhí)行了些什么

作者:賣菜的小白 更新時間: 2022-04-19 編程語言

當我們執(zhí)行npm run xxx的時候。首先會先從package.json中找到執(zhí)行的命令。例如:package.json中的文件如下所示:

{
  "name": "h5",
  "version": "1.0.7",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve"
   },
}

所以當我們執(zhí)行npm run serve指令,就相當于執(zhí)行vue-cli-service serve,但是在操作系統(tǒng)中不存在該指令,此時我們該如何去做。
當我們在安裝依賴的時候,是通過npm install xxx來執(zhí)行的,例如npm install @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 作為參數(shù)傳入)。
我們可以直接在新建的vue項目里面搜索vue-cli-service
在這里插入圖片描述
所以在 npm install 時,npm 讀到該配置后,就將該文件軟鏈接到 ./node_modules/.bin 目錄下,而 npm 還會自動把node_modules/.bin加入$PATH,這樣就可以直接作為命令運行依賴程序和開發(fā)依賴程序,不用全局安裝了。
假如我們在安裝包時,使用 npm install -g xxx 來安裝,那么會將其中的 bin 文件加入到全局,比如 create-react-app 和 vue-cli ,在全局安裝后,就可以直接使用如 vue-cli projectName 這樣的命令來創(chuàng)建項目了。

原文鏈接:https://blog.csdn.net/weixin_47450807/article/details/124234288

欄目分類
最近更新