溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

NodeJS的NPM 知識(shí)點(diǎn)如何理解

發(fā)布時(shí)間:2021-12-13 18:06:53 來(lái)源:億速云 閱讀:131 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)NodeJS的NPM 知識(shí)點(diǎn)如何理解,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

NPM 是什么?

在了解 NPM 之前,我們需要理解 NodeJS 中包和模塊是什么?

簡(jiǎn)單來(lái)說(shuō),一個(gè)模塊是一個(gè)單獨(dú)的文件, 一個(gè)包中可以有一個(gè)或多個(gè)模塊。

而在 NodeJS 中為了方便開(kāi)發(fā)人員發(fā)布、安裝和管理包,,NodeJS 推出了一個(gè)包管理工具 NPM ( Node Package Manager )。

NPM 不需要我們單獨(dú)安裝,只要搭建好 NodeJS 環(huán)境就已經(jīng)自動(dòng)安裝好了

NPM就相當(dāng)于電腦上的軟件管家,通過(guò) NPM 我們可以快速找到我們需要的包,可以快速安裝我們需要的包, 可以快速刪除我們不想要的包等等。

 

NPM 的使用

 

NPM 包的安裝方式

1、全局安裝

全局安裝一般用于安裝全局使用的工具,存儲(chǔ)在全局 node_modules 中。

# 安裝包
npm install -g 包名   # 默認(rèn)安裝最新版本
# 卸載包
npm uninstall -g 包名
# 更新包
npm update -g 包名   # 更新失敗可以直接使用install
 

2、本地安裝

本地安裝一般用于安裝當(dāng)前項(xiàng)目使用的包, 存儲(chǔ)在當(dāng)前項(xiàng)目node_modules中

# 安裝包
npm install 包名
# 卸載包
npm uninstall 包名
# 更新包
npm update 包名
   

關(guān)于 NPM 中的 package.json

在我們創(chuàng)建一個(gè)項(xiàng)目的時(shí)候,我們項(xiàng)目目錄下是沒(méi)有 package.json 這個(gè)文件的,所以我們初始化本地包后可以自動(dòng)生成

npm init
 

我們可以打開(kāi)這個(gè)文件來(lái)看看文件的內(nèi)容

NodeJS的NPM 知識(shí)點(diǎn)如何理解  

在包描述文件 package.json 中定義了當(dāng)前項(xiàng)目所需要的各種模塊,以及項(xiàng)目的配置信息(比如名稱、版本、許可證等元數(shù)據(jù))。npm install 命令根據(jù)這個(gè)配置文件,自動(dòng)下載所需的模塊,也就是配置項(xiàng)目所需的運(yùn)行和開(kāi)發(fā)環(huán)境

注意點(diǎn):package.json 文件中, 不能加入任何注釋

在 package.json 中有兩個(gè)配置項(xiàng)需要我們注意:

  • dependencies:生產(chǎn)環(huán)境包的依賴,一個(gè)關(guān)聯(lián)數(shù)組,由包的名稱和版本號(hào)組成
  • devDependencies:開(kāi)發(fā)環(huán)境包的依賴,一個(gè)關(guān)聯(lián)數(shù)組,由包的名稱和版本號(hào)組成

當(dāng)我們?cè)诎惭b包時(shí)使用npm install 包名 --save 安裝的包名會(huì)在dependencies這個(gè)配置項(xiàng)中體現(xiàn)出來(lái)。

當(dāng)我們?cè)诎惭b包時(shí)使用npm install 包名 --save-dev 安裝的包名會(huì)在devDependencies這個(gè)配置項(xiàng)中體現(xiàn)出來(lái)。

當(dāng)我們將項(xiàng)目拷貝給其它人,或者發(fā)布的時(shí)候,我們不會(huì)將項(xiàng)目中的 node_modules 也給別人,因?yàn)樘?,而且有的包可能只在開(kāi)發(fā)階段需要,但是在上線階段不需要,所以需要分開(kāi)指定

所以在將項(xiàng)目發(fā)布的時(shí)候可以使用下面的命令來(lái)配置對(duì)應(yīng)的環(huán)境

npm i               所有的包都會(huì)被安裝
npm i --production  只會(huì)安裝dependencies中的包
npm i --development  只會(huì)安裝devDependencies中的包
 

這就時(shí) NPM 方便的地方。

 

下載 Node 包太慢怎么辦?

不少讀者在使用 NPM 的時(shí)候面臨一個(gè)問(wèn)題就是使用 NPM 安裝包太慢了,可以試試使用 nrm

 
方法一 - nrm

由于 npm 默認(rèn)回去國(guó)外下載資源, 所以對(duì)于國(guó)內(nèi)開(kāi)發(fā)者來(lái)說(shuō)下載會(huì)比較慢所以就有人寫(xiě)了一個(gè)nrm工具,允許你將資源下載地址從國(guó)外切換到國(guó)內(nèi)。

具體使用可以試試下面的命令

npm install -g nrm # 安裝NRM
nrm --version #查看是否安裝成功
npm ls    # 查看允許切換的資源地址
npm use taobao  #將下載地址切換到淘寶
 

使用方式直接使用 npm install 包名 即可。

 
方法二 - cnpm

cnpm 就是將下載源從國(guó)外切換到國(guó)內(nèi)下載, 只不過(guò)是將所有的指令從npm變?yōu)閏npm而已

npm install cnpm -g –registry=https://registry.npm.taobao.org  # 安裝CNPM
cnpm -v  # 查看是否安裝成功
 

使用方式同 npm, 例如:npm install jquery 變成cnpm install jquery即可

其實(shí)除了 npm 外,F(xiàn)acebook、Google、Exponent 和 Tilde 聯(lián)合推出了一個(gè)新的 JS 包管理工具 Yarn 。

Yarn 是為了彌補(bǔ) npm5.0之前 的一些缺陷而出現(xiàn)的,不過(guò)對(duì)于爬蟲(chóng)工程師來(lái)說(shuō),npm 已經(jīng)完全夠用了。

關(guān)于NodeJS的NPM 知識(shí)點(diǎn)如何理解就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI