NPM是一個Node套件管理和發行工具,已經成為了非官方的發布Node模組(套件)的標準。有了NPM,可以很快的找到特定服務要使用的套件,進行下載、安裝以及管理已經安裝的套件。
NPM常用的指令有:
(1)$ npm install moduleNames
安裝以Node模組
注意事項:如果使用模組的時候不知道其名字,可透過http://search.npmjs.org網站依照
地npm也提供了查詢的功能 $ npm search indexName
會
node的安裝為全域模式與本機模式。一般情況下會以本機模式運行,套件會被安裝
而與與你的應用程式碼統計的本地node_modules目錄下。在全域模式下,Node包會被
且安裝在Node的安裝目錄下的node_modules。全域安裝指令為
$ npmuleName。得知使用$npm set global=true來設定安裝模式
,且$npm get global可檢視目前所使用的安裝模式。
(2)$ npm view moduleNames
檢視node模組的package.json資料夾
注意力:如果您想要檢視package.json資料夾下某位標籤的內容,可以使用
與 $
查看已安裝的node套件在目前目錄下
注意事項:Node模組搜尋是從程式碼執行的目前目錄開始的,而搜尋結果取決於目前使用的目錄中
的node_modules下的內容。 $ npm list parseable=true可以目錄的形式來展現當
使用前所安裝的所有node包
檢視協助指令
檢視包的依賴關係
檢視套件的來源檔案位址
(7)$ npm view moduleName engines
檢視套件所依賴的Node的版本
(8)$npm help folders
所有使用所有npm所使用的資料夾
(9)$ npm rebuild moduleName
以使用包裝內容後重建
(10)$ npm outdated
檢查包是否已過時,且此指令會列出所有已過時的包,可及時進行包裝的更新
(11)$ npm update moduleName
且更新node模組
(12)$ npm uninstall moudleName
卸載node模組
(13)一個npm套件是包含了package.json的資料夾,package.json描述了這個資料夾的結構。訪
以問npm的json資料夾的方法:
$ npm help json
此指令以預設的方式開啟網頁,且若變更了預設開啟程式則可能不會以網頁的形式使用至
開放。
(14)在發布一個npm包的時候,需要檢驗某個包名是否已存在
$ npm search packageName
(15)很多時候我們在使用一個npm包的時候常常忘記了require其互相依賴的模組,我們可以
且以下列指令檢視此模組互相依賴的套件中有哪些
npm是Node.JS的套件管理器。進行Node.JS開發時,經常使用它來安裝/卸載程式包。實際上,發布程式包的工作也是由它來完成的。
配置package.json
要打包程序,首先要配好各項設置,這些設置都由程序包根目錄下的package.json指定。 package.json的內容必須是嚴格的JSON格式,也就是說:
字串要用雙引號括起來,而不能用單引號;
屬性名一定要加雙引號;
最後一個屬性後千萬不要多加逗號。
配置物件的屬性很多,具體可以參考這裡,這裡列一下常用的項目:
name:程式包名,不能跟著現有的程式包重複。
version:版本號。
description:一段簡短的介紹。
author:作者資訊。包含name、email、url三項屬性。
bin:如果程式中有可執行檔(主要是命令列裡面呼叫的),就在這裡指定,可以指定多個。
main:使用require呼叫本程式套件時的程式入口。
dependencies:依賴的程式包,可以指定版本號。
設定好package.json後,可以先在本地打包安裝一次,測試程式運作是否正常,安裝指令為:
npm install
另外,還有一條潛規則要注意,如果你希望程式包中的可執行程式在Node.JS的環境中運行,那麼,請在程式入口文件的最前面加上這樣一行:
#!/usr/bin/env node
如果沒有這一行,它將以系統預設的方式打開,而不是在Node.JS的環境中運行。
註冊npm帳號
要把程式包發佈到npm,還需要先註冊一個帳號。 npm並沒有提供網頁版的註冊精靈。註冊也要透過命令列來進行:
npm adduser
執行此指令後,會依序出現輸入使用者名稱、Email、密碼的提示,輸入好之後等待一會兒就可以了。
發布程式包
準備工作都做好了,執行下面的指令就可以發佈程式包:
npm publish
如果要更新程式包,只要修改一下package.json中的版本號,再重新執行發布指令就可以了。