npm -- nodejs強大的包管理器

NPM是什麼

NPM的全稱是Node Package Manager,是隨同NodeJS一起安裝的包管理和分發工具,它很方便讓JavaScript開發者下載、安裝、上傳以及管理已經安裝的包。

  • npm通常是和node.js一起安裝的

  • npm,node package manager,是 Node 的模塊管理器,功能極其強大。它是 Node 獲得成功的重要原因之一。

隨着一系列基於nodes的應用/工具的出現,工作中與nodejs打交道的機會越來越多。無論在node應用的開發,還是使用中,包管理都扮演着一個很重要的作用。

NPM出現背景

我們經常需要去下載一些資源,一般的做法是去相應的官網上下載。例如jquery,就去jquery的官網,zepto就去zepto的官網去下載,這樣很麻煩。我們需要有一個地方,可以下載全部的資源。

一個直觀的想法,就是去建立一下網站,讓所有的公司都把自己的軟件上傳上來,這樣,用戶就可以去下載了,就不用到處找官網。

它提供npm這個工具:

你可以上傳自己的代碼。

你可以下載別人的代碼。

約定標準的文件組織結構

NPM 運行方式

在安裝node.js的同時,npm就已經被安裝了。你可以在任何的cmd窗口去運行npm相關命令

NPM命令

npm -v  查看npm版本號
npm init 初始化npm

使用淘寶 NPM 鏡像

大家都知道國內直接使用 npm 的官方鏡像是非常慢的,這裏推薦使用淘寶 NPM 鏡像。

淘寶 NPM 鏡像是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(只讀),同步頻率目前爲 10分鐘 一次以保證儘量與官方服務同步。

你可以使用淘寶定製的 cnpm (gzip 壓縮支持) 命令行工具代替默認的 npm:

 npm install -g cnpm --registry=https://registry.npm.taobao.org

這樣就可以使用 cnpm 命令來安裝模塊了:

cnpm install [name]

包(package)中在根目錄下必須一定要有一個package.json文件

init這個命令就可以幫助在當前目錄下自動創建這個package.json這個文件。

選項的說明:

  • name: package的名字 (必須)
  • version: package的版本 (必須)
  • description: 包的描述
  • author: 包的作者姓名
  • main: 包的入口文件
  • dependencies: package的應用依賴模塊
  • devDependencies: package的開發依賴模塊
  • scripts: 屬性是一個對象,裏邊指定了項目的生命週期個各個環節需要執行的命令。

NPM 常用命令

命令 描述
npm -v 查看NPM版本
npm version 查看所有模塊版本
npm search 包名/部分包名 搜索包
npm init / npm init --yes / npm init -y 初始化package.json文件
npm install/i 包名 安裝包
npm install 包名@版本號 安裝指定版本的包
npm update 包名 更新包
npm remove / r / uninstall 包名 刪除包
npm install/i 包名 --save/S 安裝包並添加到依賴中
npm install 根據package.json下載當前項目依賴的包
npm list -g --depth 0 查看全局安裝過的包
npm root -g 查看全局安裝的包的保存目錄
npm install 包名1 包名2 同時安裝多個包(包名之間空格)
npm config list 查看當前的npm配置項

-g 是全局安裝:安裝之後,在任意目錄下,打開cdm窗口你都可以使用

npm install 包名 -g

命令會安裝在生產環境依賴
會修改package.json。會在package.json的dependencies屬性下添加記錄
運行npm install命令時,會自動安裝包到node_modules目錄中

npm install 包名 || npm install 包名 --save || -S

下載開發環境依賴
會修改package.json。會在package.json的devDependencies屬性下添加記錄
運行npm install命令時,會自動安裝包到node_modules目錄中

npm install 包名 --save-dev || -D

刪除包
可能修改package.json.如果你安裝時修改了這個文件,則刪除時會去掉依賴項。
刪除Node_modules下面對應文件

 npm remove / r / uninstall 包名  | 刪除包 | 

查看當前的npm配置項

npm config list

npm i package -g可以讓你的包下載npm root -g所指向的系統默認路徑裏,該路徑被稱之爲全局路徑,但是這並不能讓你的包被全局訪問到,如果想全局訪問到第三方包,則必須配置NODE_PATH環境變量

全局安裝與本地安裝

npm 的包安裝分爲

  • 本地安裝(local)
  • 全局安裝(global)

從敲的命令行來看,差別只是有沒有 -g 而已,比如

npm install express          //本地安裝
npm install express -g   // 全局安裝
(1) 本地安裝:

將安裝包放在 ./node_modules 下(運行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當前執行 npm 命令的目錄下生成 node_modules 目錄。
可以通過 require() 來引入本地安裝的包。

(2) 全局安裝:

將安裝包放在 /user/local 下或者你 node 的安裝目錄。
可以直接在命令行裏使用。

自定義路徑 (瞭解)
> npm config set prefix <指定npm 全局安裝包的存放路徑>
> npm config set cache <指定npm 下包的緩存路徑>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章