第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁(yè) 慕課教程 Yarn 入門(mén)教程 Yarn 入門(mén)教程 Yarn 和 npm 評(píng)測(cè)對(duì)比

Yarn 和 npm 評(píng)測(cè)對(duì)比

前言:同學(xué)們大家好,在之前的課程中,給大家簡(jiǎn)單介紹了yarn的基本概念和命令使用方法。我們說(shuō),yarn是一個(gè)非常具有競(jìng)爭(zhēng)力的依賴管理工具。甚至最近幾年,它的熱度一度超過(guò)傳統(tǒng)工具npm。它簡(jiǎn)潔的日志輸出方式,依賴管理方案,以及下載速度,都給開(kāi)發(fā)者帶來(lái)了非常棒的體驗(yàn)。下面我給大家用實(shí)際開(kāi)發(fā)場(chǎng)景測(cè)試一下,具體說(shuō)明yarn的優(yōu)勢(shì)。

1. 待測(cè)試命令

npm命令 yarn命令
npm install yarn
npm install xxx@1.1.1 -g yarn global add xxx@1.1.1
npm install xxx@1.1.1 --save yarn add xxx@1.1.1
npm install xxx@1.1.1 --save-dev yarn add xxx@1.1.1 --dev
npm uninstall xxx --save(-dev) yarn remove xxx
npm run xxx yarn run xxxx

通過(guò)以上待測(cè)試命令,我們可以看到:

  1. 相同功能的命令,yarn的命令更加簡(jiǎn)潔,且更加語(yǔ)義化。
  2. yarn的全局安裝使用 global 命令,但是yarn本身并不希望我們?nèi)职惭b某些包,更希望我們每一個(gè)項(xiàng)目單獨(dú)去管理依賴及版本。全局安裝某些包后,如果需要?jiǎng)h除模塊,用 yarn global remove 就好,如果需要清除緩存,用 yarn cache clean 。
  3. 如npm run 等很多命令,我們可以直接替換成yarn run,降低了學(xué)習(xí)記憶成本。

2. 命令運(yùn)行效果

為了方便大家看到測(cè)試運(yùn)行效果,我們簡(jiǎn)單做了前期準(zhǔn)備,使用vue cli初始化了一個(gè)項(xiàng)目,在相同的環(huán)境相同的網(wǎng)速情況下安裝一些依賴。
先介紹一下我們項(xiàng)目 package.json 里的配置項(xiàng)
運(yùn)行效果

首先,我們使用npm來(lái)安裝這些依賴:
運(yùn)行效果
運(yùn)行效果

然后,我們刪除 node_modules 文件夾中已經(jīng)安裝好的依賴,使用yarn重新安裝一遍。
運(yùn)行效果
運(yùn)行效果
總結(jié):通過(guò)以上測(cè)試,我們可以明顯的看出,同樣的安裝依賴,使用yarn 安裝的log輸出,頁(yè)面簡(jiǎn)潔內(nèi)容詳細(xì),而npm相比之下就遜色了很多。并且最重要的,yarn的速度優(yōu)勢(shì)體現(xiàn)的淋漓精致,比npm的速度快了幾倍。這只是在依賴很少的項(xiàng)目中就可以看出速度對(duì)比,在我們?nèi)粘i_(kāi)發(fā)的大型前端項(xiàng)目框架中,yarn的速度優(yōu)勢(shì)會(huì)更加明顯。

3. npm 和 yarn混合使用

在平時(shí)的開(kāi)發(fā)中,尤其是一些相對(duì)較老的項(xiàng)目,我們是通常是使用npm來(lái)初始化項(xiàng)目的。那現(xiàn)在我們想使用yarn,是不是就要重新搭建環(huán)境,或者改動(dòng)很多配置呢?答案是no,我們不需要做什么改動(dòng),因?yàn)樗鼈兌甲裱粋€(gè)配置文件 package.json 的規(guī)范,我們可以直接在npm的基礎(chǔ)上使用yarn,也能完美運(yùn)行,下面,用實(shí)際項(xiàng)目證明我們的觀點(diǎn)。

同樣還是使用上文中的配置項(xiàng)。
運(yùn)行效果

然后我們使用npm來(lái)初始化項(xiàng)目,安裝基礎(chǔ)依賴。
運(yùn)行效果

安裝完成后我們的項(xiàng)目就多了一個(gè) node_modules 文件夾,里面就是我們用npm安裝的所有依賴。

接下來(lái),我們使用 yarn ,在npm安裝的依賴基礎(chǔ)上再追加一個(gè)新的依賴包 elementUI
運(yùn)行效果
運(yùn)行效果
安裝成功!說(shuō)明安裝是沒(méi)問(wèn)題的,然后我們?cè)賴L試使用 yarn 卸載 npm 安裝的依賴。
運(yùn)行效果

刪除成功,說(shuō)明 yarn 可以完美適配 npm 的項(xiàng)目,我們可以將原有的npm項(xiàng)目平滑的過(guò)度到y(tǒng)arn項(xiàng)目,非常的方便。

4. 相比npm,yarn在安裝過(guò)程中的優(yōu)勢(shì)

  • 離線模式:yarn會(huì)有一個(gè)緩存目錄,會(huì)緩存以前安裝過(guò)的軟件包,再次安裝時(shí)就不必從網(wǎng)絡(luò)下載了,大大加速安裝速度。
  • 性能優(yōu)化:下載軟件時(shí)會(huì)自動(dòng)優(yōu)化請(qǐng)求順序,使安裝效率更高。
  • 網(wǎng)絡(luò)回彈:yarn在某個(gè)安裝包請(qǐng)求失敗時(shí)不會(huì)導(dǎo)致安裝失敗,它會(huì)自動(dòng)去嘗試重新安裝。而npm則會(huì)毫不猶豫的失敗,導(dǎo)致得再來(lái)一次,耗費(fèi)時(shí)間

5.小結(jié)

通過(guò)以上測(cè)評(píng),相信大家已經(jīng)感受到了yarn的優(yōu)勢(shì),希望在日常開(kāi)發(fā)中,大家有機(jī)會(huì)可以多嘗試多總結(jié),提高我們的開(kāi)發(fā)效率和體驗(yàn)。