前端構建工具(2) -- npm&yarn

前言

簡介:
node的包管理器,它隨nodejs一塊兒安裝,即你安裝了nodejs就能夠用npm進行包管理,經過npm能夠從npm服務器下載別人上傳的第三方庫,下載並安裝別人上傳的命令行程序,上傳本身寫的第三方庫和命令行程序
可用npm -v查看npm版本號肯定npm是否可用,若是npm版本太低,可使用npm -install npm -g 進行升級node

package.json:
package.json是項目的配置文件,npm會按照package.json中的配置進行包的安裝和更新,package中有內容主要是項目名稱name,版本version,擁有者author,證書license,依賴dependencies,開發環境依賴devdependencies等,更新包時,每次都按照package.json都下載大版本相同的最新包git

package-lock.json:
package-lock.json中固定依賴包的版本到當前所用的包版本號,而不是隻固定大版號,這樣能夠避免有些包雖然大版本號相同,可是接口不兼容。github

一、 安裝包

1.0 安裝npm

$ npm install <packageName> 
$ npm install <packageName> --force
$ npm install <packageName> [-g||-global]  [--save -dev]
  • 機制:安裝前npm install會先檢查node_modules目錄裏是否已經存在包,若是無則安裝,若是有不管遠程倉庫有沒有最新版本都不安裝,若但願不管是否存在都從新安裝,則強制安裝:npm install (包名) --f/--force

1.1 全局安裝:json

npm install < packageName> -g  || -global
  • 參數 -g / -global 表明安裝到全局環境中,即包安裝在Node安裝目錄下的node_modules文件夾中,通常在 \Users\用戶名\AppData\Roaming\npm\node_modules,而且寫入系統環境變量,能夠經過命令行在任何位置調用它,通常全局安裝的是有命令行需求的packge

1.2 本地安裝:服務器

npm install package-name || npm install package-name --save -dev
  • 本地安裝,包安裝在當前定位目錄的node_modules文件夾下,經過require()調用,通常安裝在本地的是僅該項目須要的包
  • 參數--save 的含義是表明把你的安裝包信息寫入package.json文件
  • -dev 將安裝包信息寫入devDependencies字段中,若是不使用-dev則信息寫入Dependencies字段中
  • 注:使用packge.json是由於npm安裝的包很大,因此不加入版本管理,將包版本信息加入package.json進行版本管理,npm根據該信息進行包版本管理

1.3 package-lock.json
執行npm install 的時候以後項目中會增長一個package.json文件網站

二、 其他經常使用命令行

2.1 更新已經安裝包ui

$ npm update <packageName>
  • 機制:先查詢遠程倉庫最新版本,再查詢本地版本,若不是最新則更新

2.2查看npm的幫助命令行

$ npm help

2.3 查看已經安裝的包列表版本控制

$ npm list

2.4 初始化 package.json 文件

npm init

初始化生成一個新的 package.json 文件。它會向用戶提問一系列問題,若是你以爲不用修改默認配置,一路回車就能夠了。若是使用了 -f(表明force)、-y(表明yes),則跳過提問階段,直接生成一個新的package.json 文件。

三、淘寶鏡像cnpm

npm 安裝包的過程就是從http://registry.npmjs.org網站 上進行下載和安裝,可是用於該網站在國外,國內進行安裝速度通常比較慢,因此淘寶團隊搭建了一個鏡像服務器http://npm.taobao.org ,該服務器每十分鐘進行一次更新,徹底復刻國外的服務器,可是不能上傳包,只能下載安裝更新
配置淘寶鏡像:

npm install cnpm -g -registy="http://npm.taobao.org"

配置完成以後能夠用cnpm代替npm進行安裝包,配置完後檢查是否配置成功

cnpm -v

四、npm與yarn

yarn誕生比較晚,但誕生以後就迅速受到熱捧,並在github上獲得start超過npm,yarn一開始是爲了解決npm語義版本控制致使安裝不肯定性的問題


待續

相關文章
相關標籤/搜索