程式實驗導師計畫 [第三週] NPM 把你們的力量借給我吧

NPM 是什麼

npm 的全稱 Node Package Manager,即「node 包管理器」,是 Node.js 預設的、以 JavaScript 編寫的軟體套件管理系統。

所以你可以把寫好的一套功能、軟體、套件上傳到這個軟體套件管理系統上,也可以在上面下載別人寫好的套件,這樣就可以不用自己在寫一遍,可以直接用別人寫過的就好

npm install

那就來載別人的套件工具使用試試,以npm i left-pad為例,left-pad 是個蠻有名的事件,詳情可以參考抽掉 11 行程式就讓網路大崩塌!一場撞名事件,看開源的威力與權力衝突

這個功能很簡單,就是把字串的長度從左邊補齊到一樣長

可以在搜尋列直接找npm i left-pad,就可以找到left-pad

透過npm install left-pad,可以透過這行指令將此套件安裝在某個資料夾中

接著該資料夾多了

package-lock.json裡面會有安裝的套件的資訊,而node_modules就是所安裝的套件檔案。

))

test.js

1
2
3
4
5
6
7
8
9
10
11
12
13
const leftPad = require("left-pad");

console.log(leftPad("foo", 5));
// => " foo"

console.log(leftPad("foobar", 6));
// => "foobar"

console.log(leftPad(1, 2, "0"));
// => "01"

console.log(leftPad(17, 5, 0));
// => "00017"

就可以用哩~

NPM scripts

npm 也能夠自訂指令,類似設定快捷鍵的概念,在package.json裡的scripts參數裡可以自定義指令名稱與想設定的快捷指令

假設設定一個快捷指令start來執行echo 123,那就可以像下面這樣寫

1
2
3
4
5
{
"scripts": {
"start": "echo 123"
}
}

接著在終端機執行npm run start,就會透過 npm 來執行自定義的快捷指令。


參考

程式導師實驗計畫第三期