原始碼分析 vue cli 中安裝依賴

2021-10-20 12:26:44 字數 692 閱讀 5243

最近想要自己實現乙個 cli

看了 vue-cli 原始碼中安裝依賴的部分

原始碼檔案 @vue/cli/lib/util/projectpackagemanager.js 有乙個 install 函式執行了 npm install 或者 yarn install

async

install()

下面看一下 runcommand 函式:

async

runcommand

(command, args)

runcommand 函式執行了 executecommand 函式:

executecommand 函式在:@vue/cli/lib/util/executecommand.js

const execa =

require

("execa");

function

executecommand

(command, args, cwd)

)...

}

使用了 execa 庫,本質上是使用了child_process 建立了子程序去執行 install 安裝依賴,並且把子程序的輸出 inherit 到了父程序中。這樣就實現了,雖然是在子程序中安裝依賴,但是顯示在命令列中。

原始碼安裝 mysql 原始碼安裝 mysql

yum y install ncurses devel gcc bzip2 bison 安裝解壓命令 安裝命令 wget http 複製的鏈結.解壓命令 tar xf cmake檔案.tar 編譯工具cmake安裝 cmake命令版本 2.8以上 將資料夾放到指定目錄整理 mv usr local ...

STL 中sort原始碼分析

以sgi的stl為例 sort有兩種過載形式 template randomaccessiterator void sort randomaccessiterator first,randomaccessiterator last template strictweakordering void s...

JAVA中ArrayList原始碼分析

本文將會從5個方面來介紹 arraylist 的原始碼。其中涉及到了 arraylist 是如何實現資料的存貯,arraylist 為什麼可以隨著元素的新增而增加容量以及它的容量是如何擴充的與元素個數有什麼關係,是如何判斷併發修改異常。a arraylist 類的屬性 集合的預設容量為10 當我們建...