yarn和npm基礎(chǔ)
yarn詳解
Yarn?對你的代碼來說是一個包管理器教寂。它可以讓你使用并分享?全世界開發(fā)者的(例如?JavaScript)代碼。?Yarn?能夠快速执庐、安全酪耕、?并可靠地完成這些工作,所以你不用有任何擔(dān)心轨淌。
通過Yarn你可以使用其他開發(fā)者針對不同問題的解決方案迂烁,使自己的開發(fā)過程更簡單。?使用過程中遇到問題递鹉,你可以將其上報或者貢獻(xiàn)解決方案盟步。一旦問題被修復(fù),?Yarn會更新保持同步躏结。
代碼通過?包(package)?(或者稱為?模塊(module))?的方式來共享却盘。?一個包里包含所有需要共享的代碼,以及描述包信息的文件窜觉,稱為?package.json
npm詳解
NPM是隨同NodeJS一起安裝的包管理工具谷炸,能解決NodeJS代碼部署上的很多問題北专,常見的使用場景有以下幾種:
允許用戶從NPM服務(wù)器下載別人編寫的第三方包到本地使用禀挫。
允許用戶從NPM服務(wù)器下載并安裝別人編寫的命令行程序到本地使用。
允許用戶將自己編寫的包或命令行程序上傳到NPM服務(wù)器供別人使用拓颓。
yarn和npm的區(qū)別
yarn和npm都是包管理工具语婴,但是yarn是嶄新的,經(jīng)過重新設(shè)計的npm客戶端驶睦,于2016年10月發(fā)布砰左,相比于npm,yarn在運行速度上有顯著的提升场航,安裝時間變少缠导,功能上也有很多改進(jìn)。
1. yarn雖然和nom一樣是本地緩存溉痢,但是yarn無需互聯(lián)網(wǎng)鏈接就能安裝本地緩存的依賴項僻造,提供了離線模式,而這個是npm實現(xiàn)不了的孩饼。
2. yarn解決了由于語義版本控制而導(dǎo)致的npm的不確定性問題髓削,通過安裝時創(chuàng)建的默認(rèn)文件,確保使用的庫的版本相同镀娶。
3. yarn增加了一些能讓開發(fā)人員并行化處理所有必需的操作立膛,且通過添加了一些改進(jìn),使得運行速度有了顯著的提升梯码,整個安裝時間也變得更少宝泵。
4. npm的輸出信息比較冗長好啰,相比之下,yarn簡潔很多儿奶。默認(rèn)情況下坎怪,直觀且直接地打印出必要的信息。
5. yarn的語義相對于npm更加清晰廓握,主要是因為yarn改變了一些npm的命令名稱搅窿,看上去就更清晰了。
yarn最常用最基礎(chǔ)的命令和npm對比
npm init /? yarn init?初始化
mkdir?文件名?/??md?文件名
npm install / yarn或yarn install?安裝依賴
npm install package -g / yarn global add package?全局安裝某個依賴
npm install package --save-dev? /? ?yarn add package --dev?安裝某個依賴
npm uninstall package --save-dev /? yarn remove package --dev?卸載某個依賴
npm run dev?或?npm start? /? yarn run start?或?yarn start?運行