npm


npm全稱

  node package manager

  node包管理工具,增刪查改

  網址---https://www.npmjs.com/

什么是 NPM

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

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

  npm 提供了命令行工具,使你可以方便地下載、安裝、升級、刪除包,也可以讓你作為開發者發布並維護包。

  

為什么要使用 NPM

  npm 是隨同 Node.js 一起安裝的包管理工具,能解決 Node.js 代碼部署上的很多問題,常見的場景有以下幾種:

    允許用戶從 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 就可以很方便的下載好這個模塊所需要的包。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM