前端構建東西(2) -- npm&yarn

媒介

簡介:
node的包治理器,它隨nodejs一同裝置,即你裝置了nodejs就能夠用npm舉行包治理,經由歷程npm能夠從npm服務器下載他人上傳的第三方庫,下載並裝置他人上傳的敕令行順序,上傳本身寫的第三方庫和敕令行順序
可用npm -v檢察npm版本號肯定npm是不是可用,假如npm版本太低,能夠運用npm -install npm -g 舉行晉級

package.json:
package.json是項目的設置文件,npm會依據package.json中的設置舉行包的裝置和更新,package中有內容主如果項目名稱name,版本version,具有者author,證書license,依靠dependencies,開闢環境依靠devdependencies等,更新包時,每次都依據package.json都下載大版本雷同的最新包

package-lock.json:
package-lock.json中牢固依靠包的版本到當前所用的包版本號,而不是只牢固大版號,如許能夠防止有些包雖然大版本號雷同,然則接口不兼容。

1、 裝置包

1.0 裝置

$ npm install <packageName> 
$ npm install <packageName> --force
$ npm install <packageName> [-g||-global]  [--save -dev]
  • 機制:裝置前npm install會先搜檢node_modules目次里是不是已存在包,假如無則裝置,假如有不管長途堆棧有無最新版本都不裝置,若願望不管是不是存在都重新裝置,則強迫裝置:npm install (包名) --f/--force

1.1 全局裝置:

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、 其他經常使用敕令行

2.1 更新已裝置包

$ 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 文件。

3、淘寶鏡像cnpm

npm 裝置包的歷程就是從http://registry.npmjs.org網站 上舉行下載和裝置,然則用於該網站在外洋,國內舉行裝置速率平常比較慢,所以淘寶團隊搭建了一個鏡像服務器http://npm.taobao.org ,該服務器每十分鐘舉行一次更新,完整復刻外洋的服務器,然則不能上傳包,只能下載裝置更新
設置淘寶鏡像:

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

設置完成以後能夠用cnpm替代npm舉行裝置包,設置完后搜檢是不是設置勝利

cnpm -v

4、npm與yarn

yarn降生比較晚,但降生以後就敏捷遭到熱捧,並在github上獲得start凌駕npm,yarn一開始是為了處理npm語義版本掌握致使裝置不肯定性的題目

待續

    原文作者:yichair
    原文地址: https://segmentfault.com/a/1190000014483625
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞