yarn和npm基礎
yarn詳解
Yarn?對你的代碼來說是一個包管理器。它可以讓你使用并分享?全世界開發(fā)者的(例如?JavaScript)代碼。?Yarn?能夠快速、安全、?并可靠地完成這些工作,所以你不用有任何擔心。
通過Yarn你可以使用其他開發(fā)者針對不同問題的解決方案,使自己的開發(fā)過程更簡單。?使用過程中遇到問題,你可以將其上報或者貢獻解決方案。一旦問題被修復,?Yarn會更新保持同步。
代碼通過?包(package)?(或者稱為?模塊(module))?的方式來共享。?一個包里包含所有需要共享的代碼,以及描述包信息的文件,稱為?package.json
npm詳解
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
允許用戶從NPM服務器下載并安裝別人編寫的命令行程序到本地使用。
允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。
yarn和npm的區(qū)別
yarn和npm都是包管理工具,但是yarn是嶄新的,經(jīng)過重新設計的npm客戶端,于2016年10月發(fā)布,相比于npm,yarn在運行速度上有顯著的提升,安裝時間變少,功能上也有很多改進。
1. yarn雖然和nom一樣是本地緩存,但是yarn無需互聯(lián)網(wǎng)鏈接就能安裝本地緩存的依賴項,提供了離線模式,而這個是npm實現(xiàn)不了的。
2. yarn解決了由于語義版本控制而導致的npm的不確定性問題,通過安裝時創(chuàng)建的默認文件,確保使用的庫的版本相同。
3. yarn增加了一些能讓開發(fā)人員并行化處理所有必需的操作,且通過添加了一些改進,使得運行速度有了顯著的提升,整個安裝時間也變得更少。
4. npm的輸出信息比較冗長,相比之下,yarn簡潔很多。默認情況下,直觀且直接地打印出必要的信息。
5. yarn的語義相對于npm更加清晰,主要是因為yarn改變了一些npm的命令名稱,看上去就更清晰了。
yarn最常用最基礎的命令和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?運行