一. 前言
NPM,
是「Newbie Paintball Master」…不對,是「Nobel Prize Magnet」…也不對,好啦!其實是「Node Package Manager」!
雖然本來npm主要是來管理JavaScript的套件(Package),但是越來越多人使用npm,所以在上面可以找到很多其他語言編寫的套件,這也是為什麼npm會被官方惡搞(大家可以點點看官網左上角的小字),因為他已經不是單單為Node.js而生了。
原本是安裝管理Node.js的套件的軟體,本來我們想用別人的code來工作時,需要複製、貼上別人的程式碼到自己的資料夾,但是如果使用npm,我們可以以標準化的方式來安裝、移除或更新這些程式碼。
二. 安裝npm
當你安裝Node.js到電腦上時,npm也會同時被安裝,如果你是使用Mac,可以使用brew install node來安裝,如果你是使用Windows,請直接到Node.js官網下載安裝檔。
補充:LTS = Long Term Support,代表長期支援的版本
三. 尋找套件
有了npm可以安裝套件後,當然也要有地方找我們想要的套件,除了各個套件自己的網站或Github頁面外,npm自己也有個套件列表,我們可以在此搜尋想要的套件,但有時候有多個套件任君挑選時,我們該如何篩選套件呢?
下面列出一些準則來給各位參考(但非絕對):
- 下載數量:代表了套件的熱門程度
- Release的次數:越多Release代表越常維護
- 最後一次publish的時間:要是套件最後一次更新是兩年前,那麼最好還是再找一下其他套件吧
- Github上issue數:本來是寫越少越好,因為當時單純認為issue數代表問題多寡,但仔細思考後,issue多反而代表該套件十分活躍,所以應該要是越多越好才是(感謝CrazyLion)
- Github上熱門的程度:星號、關注、貢獻,這些當然都是越多越好囉
四. 安裝套件
安裝套件有兩種模式:Local和Global
- Local:代表本地模式,就是安裝在當下的資料夾內,該套件的指令也只有在當下的資料夾才有作用
- Global:代表全域模式,安裝之後不管終端機當下位置在哪都可以執行該套件的指令
Node.js套件使用
基本上請詳細看過套件的README,裡面應該都會詳細說明該如何使用,一般來說是在自己的code前面新增一行:var pkgName = require("pkgName");,就可以在自己的code內使用該套件的內容了。
指令列表:
- 列出所有npm指令
- npm
- 以本地模式安裝套件
- npm install
- ex: npm install passport
- 以全域模式安裝套件
- npm install -g
- ex: npm install -g coffee-script
五. 管理套件
Package.json
要是在本地端安裝套件的話,會看見一個「node_module」出現在資料夾內,裡面放著的就是我們所安裝的套件。
2016-07-09 at 上午 3:12
Github上issue數:基本上越少越好,但也可能是因為很多人測試所造成的現象
=======
我的看法倒是相反,可能是很少人用。 應該是看他issue的動態比較合理。 因為功能需求在github上也是用 issue在管理呢
2016-07-09 at 上午 7:00
的確,重新想思考後的確不太對勁,issue數應該會和活躍度成正比,這個應該要更正一下才對XD
2016-08-15 at 下午 3:04
學習了,很清楚實用的筆記。