輕鬆掌握nodeJS之npm

關於NPM

npm是nodejs的包管理工具,所謂包管理工具就是對各類包和工具進行 安裝,卸載,更新,查看,搜索,發佈等操做的工具。就像咱們電腦上的電腦管家,管理各類軟件的安裝,卸載,升級等。
使用npm咱們能夠很是輕鬆的管理各類包,並且諸多前端開發的工具諸如WebPack、Grunt等都是依賴於nodeJS的,這些工具的安裝、使用都要經過npm。 咱們開發中用到的一些開源類庫如jquery、bootstrap等均可以經過npm來下載和管理。 因此說,學會npm的使用對前端開發尤其重要前端

安裝NPM

只用安裝了nodeJS,npm就一塊兒被安裝了。
https://nodejs.org/en/download/ 下載地址
打開命令行工具(window下是cmd)
運行vue

npm -v

若是顯示了npm的版本號,證實已經安裝成功node

NPM的簡單使用

須要注意的是,使用npm的時候,通常先進入到項目目錄中(命令號cd命令進入),下載的包會放在項目目錄下的node_modules目錄下(該目錄會自動生成),跟我一塊兒安裝幾個包。jquery

npm install jquery #安裝jquery

在你的項目目錄下就會生成一個node_modules目錄,該目錄下就有了jquery。 你能夠多安裝幾個包git

npm install bootstrap #安裝bootstrap
npm install angular   #安裝angular
npm install vue       #安裝vue

你會發現你的node_modules目錄下就多了不少個目錄github

npm list  #該命令能夠查看安裝的包的列表
npm list 包名  #能夠查看具體的包的信息(版本號)

若是你不肯定包名的話你能夠搜索npm

npm search jquery  #搜索名字裏有"jquery"的包

若是想查看包的相關信息json

npm info bootstrap  #查看bootstrap的信息,不論包是否安裝均可以查看

固然,安裝某個包的時候也能夠制定包的版本號bootstrap

npm install jquery@1.12.4  #安裝jquery-1.12.4

若是須要對已經安裝的包進行更新服務器

npm update 包名

若是要卸載已經安裝的包

npm uninstall 包名

NPM的全局安裝

上面咱們安裝的包都是安裝在了項目目錄中, 若是安裝的是命令行工具只能進入(cd)到項目目錄中才能使用,npm也能夠進行全局安裝,npm能夠進行全局的安裝、卸載、升級,只有加上 "-g"

npm install 包名 -g

這樣的安裝的包是全局的,不會安裝在項目目錄的node_modules裏,而是安裝在全局目錄中

npm config list  #查看npm的配置, 其中配置項 prefix 就是全局安裝目錄

也能夠

npm config get prefix    #直接查看配置項prefix (全局安裝目錄)

固然

npm config set prefix 路徑  #設置npm的全局安裝目錄

通常狀況下,若是安裝的包或工具只是本項目用到的,咱們不須要全局安裝, 若是包是好多項目用到的,主要是一些前端工具(Grunt Glup WebPack 等)能夠全局安裝

package.json

咱們能夠在項目目錄下建立一個pageage.json文件,來寫上本項目的一些介紹以及用到了那些包,pageage.json文件的主要內容以下

{
  "name": "myapp",          //package名字(自定義)
  "version": "1.0.0",       //package的版本(自定義)
  "description": "",        //描述(自定義)
  "main": "main.js",        //主入口文件(自定義)
  "dependencies": {         //package的應用依賴模塊,及別人要使用這個package,至少須要安裝哪些東西。
    "jquery": "1.8.3",      //bootstrap 版本號1.8.3
    "bootstrap":"*",        //bootstrap 版本號最新
    "angular":"^1.6.2"          //angular 朱版本號是1的最新版
  },
  "author": "lin",              //做者
  "license": "ISC"          //受權
}

這裏面,較爲重要是dependencies依賴,它告訴咱們搞項目所須要的依賴(也就是用了哪些包)。 通常狀況下,咱們寫完項目發佈的時候(如傳到github上),咱們不會上傳npm_modules這個目錄, 別人拿到咱們的項目文件,cd到項目目錄執行

npm install

npm會根據pageage.json中dependencies中的設置把相關的包都下載下來。
pageage.json這個文件通常不須要咱們手工建立,咱們在項目目錄中運行

npm init

根據提示,輸入內容(author description等信息 ),package.json就自動建立好了

在安裝包時候添加 --save 會自動把包添加到 package.json的依賴中

npm install jquery --save

固然,卸載該包的時候,也要添加--save才能從依賴中移除,不然包是卸載了,但package.json中仍然有,

npm uninstall jquery --save

版本號問題

咱們注意到,在pageage.json中的dependencies中依賴的包的版本前面有 "^","~"等符號,這些符號都是什麼意思呢?

> 1.1.1 版本必須必1.1.1大
>= 1.1.1 版本>=1.1.1
< 1.1.1
<= 1.1.1
~1.1.1 安裝1.1.x 的最新版本 好比~1.2.2,表示安裝1.2.x的最新版本(不低於1.2.2),可是不安裝1.3.x,也就是說安裝時不改變大版本號和次要版本號
^1.1.1 安裝1.x.x 的最新版本 好比ˆ1.2.2,表示安裝1.x.x的最新版本(不低於1.2.2),可是不安裝2.x.x,也就是說安裝時不改變大版本號。

注意,關於版本號,如 jquery-1.12.4
1 是主版本號 用於不兼容的API修復
12 是副版本號或次版本號 用於向下兼容的功能性修復
4 是補丁版本號 用於向下兼容的bug修復

更換鏡像

npm下載的包都是來自一個站點(就像一個下載站),因爲服務器在國外,有時速度會較慢,甚至在某些敏感時期,你懂得。

npm config get registry

能夠查看當前npm所使用的鏡像地址 默認是 https://registry.npmjs.org/
咱們能夠改爲淘寶的npm鏡像 參考 https://npm.taobao.org/

(完)

相關文章
相關標籤/搜索