npm

npm全稱node

  node package managergit

  node包管理工具,增刪查改web

  網址---https://www.npmjs.com/正則表達式

什麼是 NPM數據庫

  npm 之於 Node.js ,就像 pip 之於 Python, gem 之於 Ruby, pear 之於 PHP 。express

  npm 是 Node.js 官方提供的包管理工具,他已經成了 Node.js 包的標準發佈平臺,用於 Node.js 包的發佈、傳播、依賴控制。npm

  npm 提供了命令行工具,使你能夠方便地下載、安裝、升級、刪除包,也可讓你做爲開發者發佈並維護包。json

  

爲何要使用 NPM服務器

  npm 是隨同 Node.js 一塊兒安裝的包管理工具,能解決 Node.js 代碼部署上的不少問題,常見的場景有如下幾種:markdown

    容許用戶從 npm 服務器下載別人編寫的第三方包到本地使用。
    容許用戶從 npm 服務器下載並安裝別人編寫的命令行程序到本地使用。
    容許用戶將本身編寫的包或命令行程序上傳到 npm 服務器供別人使用。
  npm 的背後,是基於 couchdb 的一個數據庫,詳細記錄了每一個包的信息,包括做者、版本、依賴、受權信息等。

  它的一個很重要的做用就是:將開發者從繁瑣的包管理工做(版本、依賴等)中解放出來,更加專一於功能的開發。

   

NPM 使用介紹

NPM是隨同NodeJS一塊兒安裝的包管理工具,能解決NodeJS代碼部署上的不少問題,常見的使用場景有如下幾種:

  • 容許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
  • 容許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
  • 容許用戶將本身編寫的包或命令行程序上傳到NPM服務器供別人使用。

 

因爲新版的nodejs已經集成了npm,因此以前npm也一併安裝好了。一樣能夠經過輸入 "npm -v" 來測試是否成功安裝。命令以下,出現版本提示表示安裝成功:  

  

若是你安裝的是舊版本的 npm,能夠很容易得經過 npm 命令來升級,命令以下:

  

若是是 Window 系統使用如下命令便可:

  

使用淘寶鏡像的命令:

   

 

如何使用 NPM

安裝

npm 安裝 Node.js 模塊語法格式以下:

  

如下實例,咱們使用 npm 命令安裝經常使用的 Node.js web框架模塊 express:

  

安裝好以後,express 包就放在了工程目錄下的 node_modules 目錄中,所以在代碼中只須要經過 require('express') 的方式就好,無需指定第三方包路徑。

  

npm 不須要單獨安裝。在安裝 Node 的時候,會連帶一塊兒安裝 npm 。可是,Node 附帶的 npm 可能不是最新版本,最後用下面的命令,更新到最新版本。

若是是 Window 系統使用如下命令便可:

也就是使用 npm 安裝本身。之因此能夠這樣,是由於 npm 自己與 Node 的其餘模塊沒有區別。

而後,運行下面的命令,查看各類信息。

使用

npm init

npm init 用來初始化生成一個新的 package.json 文件。它會向用戶提問一系列問題,若是你以爲不用修改默認配置,一路回車就能夠了。

若是使用了 -f(表明force)、-y(表明yes),則跳過提問階段,直接生成一個新的 package.json 文件。

Package.json 屬性說明
  name - 包名。

  version - 包的版本號。

  description - 包的描述。

  homepage - 包的官網 url 。

  author - 包的做者姓名。

  contributors - 包的其餘貢獻者姓名。

  dependencies - 依賴包列表。若是依賴包沒有安裝,npm 會自動將依賴包安裝在 node_module 目錄下。

  repository - 包代碼存放的地方的類型,能夠是 git 或 svn,git 可在 Github 上。

  main - main 字段指定了程序的主入口文件,require('moduleName') 就會加載這個文件。這個字段的默認值是模塊根目錄下面的 index.js。

  keywords - 關鍵字

npm set

npm set 用來設置環境變量

上面命令等於爲 npm init 設置了默認值,之後執行 npm init 的時候,package.json 的做者姓名、郵件、主頁、許可證字段就會自動寫入預設的值。這些信息會存放在用戶主目錄的 ~/.npmrc文件,使得用戶不用每一個項目都輸入。若是某個項目有不一樣的設置,能夠針對該項目運行 npm config

npm info

npm info 命令能夠查看每一個模塊的具體信息。好比,查看 underscore 模塊的信息

上面命令返回一個 JavaScript 對象,包含了 underscore 模塊的詳細信息。這個對象的每一個成員,均可以直接從 info 命令查詢

npm search

npm search 命令用於搜索 npm 倉庫,它後面能夠跟字符串,也能夠跟正則表達式。

npm list

npm list 命令以樹形結構列出當前項目安裝的全部模塊,以及它們依賴的模塊。

npm install

使用 npm 安裝包的命令格式爲:
npm [install/i] [package_name]

本地模式和全局模式

npm 的包安裝分爲本地安裝(local)、全局安裝(global)兩種,從敲的命令行來看,差異只是有沒有-g而已,好比

安裝不一樣版本

install 命令老是安裝模塊的最新版本,若是要安裝模塊的特定版本,能夠在模塊名後面加上 @ 和版本號。

dependencies 依賴-生產環境

這個能夠說是咱們 npm 核心一項內容,依賴管理,這個對象裏面的內容就是咱們這個項目所依賴的 js 模塊包。下面這段代碼表示咱們依賴了 markdown-it 這個包,版本是 ^8.1.0 ,表明最小依賴版本是 8.1.0 ,若是這個包有更新,那麼當咱們使用 npm install 命令的時候,npm 會幫咱們下載最新的包。當別人引用咱們這個包的時候,包內的依賴包也會被下載下來

devDependencies 開發依賴-開發環境

在咱們開發的時候會用到的一些包,只是在開發環境中須要用到,可是在別人引用咱們包的時候,不會用到這些內容,放在 devDependencies 的包,在別人引用的時候不會被 npm 下載。

當你有了一個完整的 package.json 文件的時候,就可讓人一眼看出來,這個模塊的基本信息,和這個模塊所須要依賴的包。咱們能夠經過 npm install 就能夠很方便的下載好這個模塊所須要的包。

相關文章
相關標籤/搜索