1.1 npm 簡(jiǎn)介

2021-08-21 15:51 更新

1. Node —— 行走在服務(wù)端的 js

從接觸 js 以來對(duì)它的印象就是客戶端的腳本語言,用于給頁(yè)面添加動(dòng)畫效果看起來更加酷炫。 有一天吃午飯的時(shí)候和同事在一起閑聊拉呱,無意間聽他說起了 Node.js:“有位大牛用 NodeJS 開發(fā)了個(gè)操作系統(tǒng) NodeOS”。當(dāng)時(shí)就感覺世界觀被改變了,想這么一種弱類型腳本語言也能去做 C 語言這種高級(jí)語言做的事情,感覺很是不可思議。于是暗下決心,找個(gè)時(shí)間要學(xué)習(xí)一下 Node.js。
NodeJS 2009年5月發(fā)布,是一款用 js 開發(fā)的服務(wù)端語言,編譯引擎是谷歌的 v8 引擎。

2. npm —— 減少重復(fù)造輪子

2.1 包的概念

Node 中引入了包的概念,也叫做模塊,使用完全開源的思想減少重復(fù)造輪子。

打個(gè)比方:

dk 想做一個(gè)視頻網(wǎng)站,需要使用上傳下載技術(shù)。 tiger 君在不久前參與的項(xiàng)目也需要使用上傳下載技術(shù),tiger 君是個(gè)豐富的老程序員, 對(duì)流的讀取讀出很是熟悉,于是封裝了兩個(gè)方法,屏蔽了內(nèi)部復(fù)雜的實(shí)現(xiàn)機(jī)理, 只留出兩個(gè)方法供外界調(diào)用,只需傳入規(guī)定的參數(shù)便可實(shí)現(xiàn)上傳下載功能。 dk 找到 tiger 君要了這個(gè)封裝的文件(是個(gè) js 文件),于是花了10分鐘閱讀了該文件的使用說明, 又花了5分鐘實(shí)現(xiàn)了上傳下載功能。

上面所說的 tiger 君封裝的 js 文件就是“包”的概念。

2.2 為什么使用 npm

前面已經(jīng)說到包對(duì)于 Node 來說很重要,可以減少造很多重復(fù)的輪子。

但是一個(gè)項(xiàng)目中使用到的包可能有幾十甚至幾百個(gè),完全靠手動(dòng)管理是很麻煩的。

yang 君是互聯(lián)網(wǎng)某個(gè) IP 下的一名程序員,他也想做一個(gè)上傳下載的功能, 無奈他并不認(rèn)識(shí) tiger 君,站在上帝視角的我們看到這一幕不禁就會(huì)感到有點(diǎn)尷尬。

npm 的推出就是為了解決這個(gè)問題。

npm 提供一個(gè)公共的平臺(tái),當(dāng)你寫出一個(gè)自認(rèn)為不錯(cuò)的包時(shí),可以發(fā)布到這個(gè)平臺(tái),如果別人有類似的功能需求就可以從這個(gè)平臺(tái)直接下載包。

2.3 npm 命令行工具

npm 是一款命令行工具。

上面已經(jīng)說到 npm 提供了這樣一個(gè)公共平臺(tái),但是每一次要使用包都去 Npm 官網(wǎng)下載然后再導(dǎo)入項(xiàng)目中,這看起來并不是很聰明的做法。

npm 開發(fā)了一款命令行工具,安裝之后,你可以打開的你的黑框口(DOS 窗口),在里面輸入簡(jiǎn)單的指令就可以下載包,發(fā)布包等等與包有關(guān)的任何操作。

3. Node 與 Npm 的關(guān)系

Npm 的誕生是由于 Node 的需要而發(fā)明的。

在之前的版本里,安裝 Node 與安裝 Npm 你需要下載兩個(gè)安裝包進(jìn)行安裝,這無疑是一件很蠢的事情。

后來官方人員意識(shí)到這一點(diǎn),將 Npm 安裝集成到了 Node,也就是說現(xiàn)在你只需要安裝一個(gè) Node,就同時(shí)安裝了 Npm。

4. Nvm —— 另一款命令行工具

Nvm 是一款命令行工具,用于安裝 Node。

要安裝 Node 可以下載安裝包進(jìn)行安裝。(不推薦)

但是 Node 是有版本屬性的,就像 JAVA 里有 jdk1.6、jdk1.8 的區(qū)別一樣。

那么如果你的項(xiàng)目需要使用不同版本的 Node,你總不能下載多個(gè)安裝包,然后在使用哪個(gè)版本的 Node 時(shí)將之前版本的 Node 卸載掉。

nvm 和 npm 同樣是命令行工具,有這類似的概念:

npm —— 管理包(包括增刪改查包)

nvm —— 管理 Node 版本(包括下載 Node,切換 Node 版本)

5. 總結(jié)

  1. 介紹 Node、Npm、Nvm 的概念;
  2. 介紹 Node 與 Npm 的關(guān)系;
  3. 介紹 Node 與 Nvm 的關(guān)系;
  4. 用 Nvm 可以安裝 Node < === > 用 Nvm 安裝 Npm。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)