都2022 年了,你總不能還只會 npm i 吧? ?

榮頂發表於2022-03-01
在鍵帽與字元上橫跳,於程式碼和程式中穿梭。一起面向快樂程式設計!

大家好,我是榮頂,馬上金三銀四啦 ~ 這次給大家帶來一篇 npm 命令相關的文章。目的在於查缺補漏,提升效率。

npm 作為 node 包管理器,內建了非常多的命令供我們日常開發使用,記住以下列出的命令將會給日常開發帶來非常大的便利性。

好了,話不多說,看程式碼 ?

給喜歡的包加星(類似 github 的 star)

其實我把加星就當作是收藏的操作,其實在 npm 中它就是收藏的作用,因為在官網中,我們並不能像 github 一樣清楚的看到這個倉庫有多少顆 star。

npm star [package-name]

取消收藏

npm unstar [package-name]


檢視收藏列表

npm stars

這些操作都會報錯在你的賬號下,所以很方便。不用擔心本機操作後其他地方看不到。你只需要有一個 npm 賬戶就可以了,還沒有的話,可以看本文第二節 ? ,註冊一個並登入吧。

登入 npm

首先你要有一個 npm 的賬號,沒有的在?npm 官網註冊一個就行了。

注意:在官網註冊的賬號,登陸時使用淘寶源會報錯,要改回預設源

推薦使用 nrm 或者 yrm 來快速切換映象源,個人推薦使用 yrm,為什麼呢?看下圖

nrm

yrm 會同時將你的 npm 和 yarn 一起切換,並且 ls 後會有*號標註當前正在使用的源,記得 nrm 以前也有的,現在不知道怎麼了...

yrm

當然你可以手動 npm 切換為預設源

npm config set registry https://registry.npmjs.org

然後執行命令npm login,依次填寫使用者名稱、密碼、郵箱即可。如果你在 npmjs 站點還設定了其他保護,就還需要輸入一些驗證碼之類的等等...

npm adduser
# or
npm login
# login是adduser的一個別名

你可以通過以下命令檢視當前 npm 的登陸人

npm whoami

檢視某個包的文件

每次我們想在瀏覽器中開啟某個包的文件,總習慣去搜尋引擎搜尋,其實一行命令就能解決的事情,不要再去百度搜尋啦~

# 此命令會嘗試猜測包文件 URL 的可能位置,一般沒有自定義的話,就會開啟包的github地址。
npm docs [package-name]
# or
npm home [package-name]

嘗試以下命令,可以快速開啟 lodash 的官方文件 ?

npm docs lodash
# or
npm home lodash

npm docs或者npm home命令在不接引數時,會在當前專案中,通過 package.json 檔案中的homepage配置,來開啟對應的地址。

如上圖所示,其原理就是:當你要檢視的專案中的 package.json 檔案中,設定了homepage屬性,通過npm docs/home就能開啟對應的主頁,沒有設定homepage屬性時,npm 會繼續尋找其中的repository屬性,這時候開啟的就是專案在 github 中的託管地址 url 拼接“#readme” (例如: https://github.com/使用者名稱/倉庫名#readme),如果你repository屬性也沒設定,那麼就會開啟 npm 官網中包的所在地址,(例如:https://www.npmjs.com/package...

當然,你也可以在npm docs/home後不接引數,這樣就會直接開啟當前專案的主頁。

檢視某個包的程式碼倉庫

想看某個包的原始碼?還要跑到 github 去搜尋?nonono,也是一行程式碼。

# 此命令嘗試猜測包的儲存庫 URL 的可能位置
npm repo [package-name]

? 它是根據專案中的 package.json 檔案中,設定的repository屬性,來開啟對應的 url。

快速給一個包提 issues

npm bugs [package-name]

? 它是根據專案中的 package.json 檔案中,設定的bugs屬性,來開啟對應的 url。

檢視某個包的詳細資訊

這個命令有什麼用呢?可以很方便的看到指定包的詳細資訊,比如我們想找到包的作者以及 ta 的聯絡方式(交流學習)。

npm v [package-name]
# or
npm view [package-name]
npm info [package-name]
npm show [package-name]

檢視某個包的所有歷史版本

npm v [package-name] versions

本地開發的 npm 包如何除錯

我們可以像往常一樣將本地開發的 npm 包安裝到全域性或指定目錄。

npm install . -g
# 在某個專案中安裝本地包
npm install ../Path/xxPackageName

也可以做一個軟鏈指向當前需要除錯的專案(全域性)

npm link

將除錯包連結到當前專案中(先做一個軟鏈指向當前需要除錯的專案)

# 先在本地開發的 npm 包中執行?
npm link
# 然後切換到你要安裝本地除錯包的專案中,執行?,即可將本地包安裝到專案依賴中
npm link <package-name>

# 專案中取消安裝本地的除錯包?
npm unlink <package-name>

npm 釋出包

首先,你得在本地登入(不會的看文章最開頭的登入方法 ?)

登入完成後,釋出自己開發的工具包,只需簡單的三步!

注意:使用淘寶源會報錯,要改回預設源

記得每次釋出前,修改下版本號!

npm version [版本號]

然後當前目錄執行npm publish就好了

npm publish

棄用包的相關操作

注意:強烈建議棄用包或包版本而不是取消釋出它們,因為取消釋出會從登錄檔中完全刪除一個包,這意味著任何依賴它的人都將無法再使用它,而不會發出警告。

棄用整個包

npm deprecate package-name "棄用資訊"

棄用包的單個版本

npm deprecate package-name@version "棄用資訊"

取消棄用操作

# 將棄用訊息改為空字串即可
npm deprecate package-name ""

取消釋出(危險操作)*

取消釋出整個包

npm unpublish [package-name] -f

取消釋出包的指定版本

npm unpublish [package-name]@<version>
取消釋出包後,以相同名稱重新發布將被阻止 24 小時。如果您錯誤地取消釋出了一個包,我們建議您以不同的名稱再次釋出,或者對於未釋出的版本,增加版本號並再次釋出。

一些好用的其他操作

包的重新命名

# (重新命名包的唯一方法是以新名稱重新發布它)

檢視當前專案中有哪些包過時了

npm outdated

檢視本地全域性環境的包有哪些過時了

npm outdated -g --depth=0

列出 node_modules 中的所有包

ls node_modules
# or
dir node_modules

審計專案中所有包的安全漏洞

npm audit
# 這個命令依賴 package-lock.json 檔案,所以如果你用的是yarn需要使用下面的命令
yarn audit

執行後會列出有問題的包

hahhhah
Critical需要立即解決的!
High需要儘快解決!
Moderate在時間允許的情況下解決
Low隨便你,不慌不燥不急不忙

報告中會給出它問題的嚴重性,你就可以根據具體情況來進行版本更新或是調整。

npm token list

檢測一下當前映象源的延遲

npm ping

檢測當前 node 和 npm 存在的問題 ?

npm doctor

最後

我是榮頂,一個面向快樂程式設計的前端開發 ?
如果你也非常熱愛前端相關技術!掃描它? 拉你進百人前端交流群 ?

回覆 [加群],將拉你進學習交流群,與其他前端愛好者共同進步!
回覆 [書籍],獲取大量前端pdf書籍。

相關文章