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

大家好,我是若川。我持續組織了近一年的源碼共讀活動,感興趣的可以?點此掃碼加我微信?ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信進群。

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

在鍵帽與字符上橫跳,于代碼和程序中穿梭。一起面向快樂編程!

這次給大家帶來一篇 npm 命令相關的文章。目的在于查缺補漏,提升效率。

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

好了,話不多說,看代碼 👇

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

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

npm?star?[package-name]

取消收藏

npm?unstar?[package-name]

0bd8391a0ef2bae10bbe37ca046a7e4d.png查看收藏列表

npm?stars
1eead06c559acabc329974de32653490.png

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

登錄 npm

首先你要有一個 npm 的賬號,沒有的在👉npm 官網[1]注冊一個就行了。

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

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

307a9a1e8c9659fe0367ac7799d84541.png
nrm

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

46f441587f8afdc3ac5e7b83908ad48a.png
yrm

當然你可以手動 npm 切換為默認源

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

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

0624bad829c17e30221bbf144e95130f.png
npm?adduser
#?or
npm?login
#?login是adduser的一個別名
38743849692fdd2ca6849f1bc1c66e2c.png

你可以通過以下命令查看當前 npm 的登陸人

npm?whoami

查看某個包的文檔

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

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

嘗試以下命令,可以快速打開 lodash 的官方文檔 👇

npm?docs?lodash
#?or
npm?home?lodash

npm docs或者npm home命令在不接參數時,會在當前項目中,通過 package.json 文件中的homepage配置,來打開對應的地址。

90051b6c19e4cdf818c59a51c4b22707.png

如上圖所示,其原理就是:當你要查看的項目中的 package.json 文件中,設置了homepage屬性,通過npm docs/home就能打開對應的主頁,沒有設置homepage屬性時,npm 會繼續尋找其中的repository屬性,這時候打開的就是項目在 github 中的托管地址 url 拼接“#readme” (例如:https://github.com/用戶名/倉庫名#readme),如果你repository屬性也沒設置,那么就會打開 npm 官網中包的所在地址,(例如:https://www.npmjs.com/package/npm-limit)

當然,你也可以在npm docs/home后不接參數,這樣就會直接打開當前項目的主頁。

查看某個包的代碼倉庫

想看某個包的源碼?還要跑到 github 去搜索?nonono,也是一行代碼。

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

👆 它是根據項目中的 package.json 文件中,設置的repository屬性,來打開對應的 url。

快速給一個包提 issues

npm?bugs?[package-name]

👆 它是根據項目中的 package.json 文件中,設置的bugs屬性,來打開對應的 url。

7c045dd337b41c6b86edc27fd2a1050e.png

查看某個包的詳細信息

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

npm?v?[package-name]
#?or
npm?view?[package-name]
npm?info?[package-name]
npm?show?[package-name]
ce031604ef04f96c25fd4b21cb7c76a5.png

查看某個包的所有歷史版本

npm?v?[package-name]?versions
18a7585ffab05f05116b51bd71392ed6.png

本地開發的 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
15d4d7a642f1942bd5087112f4dc914a.png

列出 node_modules 中的所有包

ls?node_modules
#?or
dir?node_modules

審計項目中所有包的安全漏洞

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

執行后會列出有問題的包

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

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

npm?token?list
a4ee8c819df679f3ed738722882f3a45.png

檢測一下當前鏡像源的延遲

npm?ping
5f43c5118508e3557e57f232c40fc731.png

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

npm?doctor
c017a7fef48c665c16b19e7cc720e418.png

參考資料

[1]

👉npm 官網: https://www.npmjs.com/signup


c1fabed111c6c0d433a78ebd8b15a21b.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經堅持寫了8年,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助4000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

efb1df22fe8bd9a74f1b5311c06e3ed9.jpeg

掃碼加我微信 lxchuan12、拉你進源碼共讀

今日話題

目前建有江西|湖南|湖北?籍 前端群,想進群的可以加我微信 lxchuan12?進群。分享、收藏、點贊、在看我的文章就是對我最大的支持~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274482.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274482.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274482.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab學習:圖像頻域分析之Gabor濾波

很多同學需要源文檔&#xff0c;所以添加了下載鏈接&#xff0c;方便大家共同學習進步~ 本文下載鏈接&#xff1a;http://files.cnblogs.com/yingying0907/Gabor%E7%AC%94%E8%AE%B0.zip Gabor變換是D.Gabor 1946年提出的。為了由信號的Fourier變換提取局部信息&#xff0c;引入…

云謙:前端框架的趨勢與實踐

大家好&#xff0c;我是若川。我持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試…

element-ui表單_每日UI挑戰強加-登錄表單(分步教程)

element-ui表單A step by step journey to create a good design from the daily UI challenge一步步走&#xff0c;從日常的UI挑戰中創建出色的設計 內容 (Content) Introduction 介紹 Result demo 結果演示 Prerequisite 先決條件 Step by step guide 逐步指南 Conclusion 結…

jquery JSON的解析方式

這里考慮都考慮的是服務器返回的是JSON形式的字符串的形式&#xff0c;對于利用JSONObject等插件封裝的JSON對象&#xff0c;與此亦是大同小異&#xff0c;這里不再做說明。 這里首先給出JSON字符串集&#xff0c;字符串集如下&#xff1a; 復制代碼 代碼如下:var data" {…

GitHub 搜索技巧:如何更有效地搜索 issue、repo 和更多信息

大家好&#xff0c;我是若川。我持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試…

js 繪畫js 繪畫路徑_繪畫是一種技能,而不是才能

js 繪畫js 繪畫路徑重點 (Top highlight)November 2019… some decided to start rocking a moustache, others were obsessed with baby Yoda. I decided to commit to drawing something every single day. As a way to keep myself accountable I started posting daily on …

tslib1.4安裝小記

tslib&#xff0c;是觸摸屏校準需要的庫文件。1、tslib的安裝需要執行以下命令sudo apt-get install autoconfsudo apt-get install automakesudo apt-get install libtool如果再非UBUNTU的機子上這參考&#xff1a;http://blog.chinaunix.net/uid-22391661-id-1774370.html 2運…

點擊頁面元素跳轉IDE對應代碼,試試這幾個工具!

大家好&#xff0c;我是若川。我持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試…

shields 徽標_徽標不夠用時如何設計應用程序圖標

shields 徽標What’s the first thing that comes to mind when you think about a particular app? Chances are, it’s the icon. And it’s certainly the first thing a user notices when deciding what app to install — similar to studying the supermarket shelves.…

文本光標,高亮選中一些出來

document.body.οnmοuseupfunction(){if(window.getSelection){if(window.getSelection().toString()!""){alert("顯示彈出框");window.getSelection().removeAllRanges()//用于清除高亮選中}}else if(document.selection){if(document.selection.createR…

基于Sentry高效治理前端異常

大家好&#xff0c;我是若川。我持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試…

zoom 用戶被鎖定_重新考慮Zoom的用戶體驗

zoom 用戶被鎖定Zoom is a household name now. It’s weird, but a new reality for 2020. I’ve been able to reliably stay in touch with so many people and even throw surprise birthday parties! It has been one of the products that has kept me busy through this…

或許是我們學錯了方向?

大家好&#xff0c;我是若川。最近來了一些新朋友&#xff0c;感謝大家關注~相比于原生 JS 等源碼。我們或許更應該學習正在使用的組件庫的源碼&#xff08;如&#xff1a;element、antd、vant、semi、arco、tdesign 等&#xff09;&#xff0c;先從簡單的看起&#xff0c;Butt…

Android 默認Tab標簽大小及間距修改

一般來說&#xff0c;我都是用Android默認的Tab&#xff0c;但此時Android會根據你增加的Tab頁面平均分配Tab標簽&#xff0c;假如你只有兩個Tab&#xff0c;那么長度將會很長&#xff0c;并且其高度略微過高&#xff0c;并不好看&#xff0c;網上解決這個問題有些是自定義Tab。…

ui設計看的書_5本關于UI設計的書

ui設計看的書Want to develop a better eye and vocabulary for judging layouts, type choices and imagery?是否想開發一種更好的眼神和詞匯來判斷布局&#xff0c;類型選擇和圖像&#xff1f; According to performance experts, the best way to learn is to gain lots o…

GitHub 這8大超實用小技巧,99.9%的人都不知道!

大家好&#xff0c;我是若川。我持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試…

android的消息處理機制(圖+源碼分析)——Looper,Handler,Message

http://www.cnblogs.com/codingmyworld/archive/2011/09/12/2174255.html 還有相關的如下鏈接需要仔細check&#xff1a; http://mindtherobot.com/blog/159/android-guts-intro-to-loopers-and-handlers/ http://www.cnblogs.com/keyindex/articles/1822463.html轉載于:https:…

案例研究設計與方法-羅伯_旭進口重新設計-用戶體驗案例研究

案例研究設計與方法-羅伯Asahi Imports is a Japanese grocery store located in central Austin, Texas. It has a passionate following, over fifty years’ history, and strong business growth. But its website is showing its age, and not hitting its full potential…

Taro v3.6 代號為「Reach」,已發布 canary 版本

大家好&#xff0c;我是若川。我持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 lxchuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試…

axure rp 創建彈框_如何在Axure RP 9中創建交換機

axure rp 創建彈框Axure is a well-known prototyping tool with a lot of history, it has been around for years. You can create almost any kind of prototypes from simple ones to more complex ones with variables and logic without writing a single line of code (…