你不知道的 npm 技巧

閱讀該文只需要五分鐘
和多數(shù)人一樣,我們開發(fā)者也喜歡給我們的同事和朋友秀一些小技巧,本文將會介紹一些和 Node Package Manager (NPM) 有關(guān)的鍵盤技巧。當(dāng)然,技巧不僅僅用來秀或者“裝逼”, 而是真的可以讓我們的工作更加的有效和精準(zhǔn),讓我們開始學(xué)習(xí)這些技巧吧!

#1 Package 初始化 (Package initialization)

你想要快速初始化一個新的 package 嗎? 你是否厭倦了初始化package出現(xiàn)的無窮無盡的問題?那么你可以嘗試npm init -y或者npm init -f. 這兩個命令可以讓你跳過很多“無關(guān)緊要”的問題讓你直接開始編寫你的優(yōu)雅代碼!

  • 我們先看看默認(rèn)的npm init 有多么冗長

    image.png

  • 再試試 npm init -y 或者 npm init -f

    image.png

如我們所愿,自動生成了package.json的基本信息,如果需要擴(kuò)充或者修改
我們可以 vi package.json 。

#2 打開 package 的 Homepage

你有發(fā)現(xiàn)并使用一些很酷炫的package嗎? 你是否想迅速的訪問該 package 的主頁查看文檔呢?使用 npm home 'your-package' 命令將幫你直接打開 package的主頁,而不需要google package的主頁,更不用那不專業(yè)的百度。

image.png
#3 打開 package 的 Github 倉庫

類似于上一條命令,運行 npm repo "your-package" 可以幫你直接打開該 package 的官方 GitHub 倉庫。 其實你也可以在Chrome輸入 www.github.com 按下 tab 直接搜索關(guān)鍵字,而不用等待 Github頁面渲染。

image.png
image.png
#4 列舉已經(jīng)安裝的package

為什么我們需要花費我們的時間打開 package.json 文件去檢查我們安裝了哪些
package 依賴? 只需要簡單的運行 npm ls --depth 0 就可以得到我們需要了解的信息。

我們嘗試在前面生成的 package.json 中加一個 package 依賴并安裝。

image.png

使用 npm ls --depth 0 很清晰的查看到我們已經(jīng)安裝的依賴

image.png
#5 查看所有的可執(zhí)行腳本

想知道project有哪些可執(zhí)行的腳本,閱讀package.json當(dāng)然可以,不過太原始和耗時,試試npm run

image.png

再給大家看看一個實際project的可執(zhí)行腳本

image.png
#6 檢查未定義在 package.json 中的 package

另一個常用的命令, 使用 npm prune 會比較你的 package.json文件中定義的 package/node_modules內(nèi)容, 你將會得到一個列表顯示哪些 package 未被定義在 package.json中,并且, npm prune將會刪除這些你未在 package.json 中定義或者你在npm install時未使用--save標(biāo)記的 package

聽起來有點繞,總結(jié)就是可以幫你整理/node_modules中無關(guān)的 package, 減少你的依賴文件容量。

image.png
#7 修改(Bump) package的版本

一般我們的版本定義都為 major.minor.patch, 分別稱為主版本或者大版本,次版本或者小版本,以及補丁。
我們項目或者package發(fā)布大的里程碑,會修改大版本號,大版本號可以不向前兼容,發(fā)布向前兼容的功能時可修改小版本,Bug修復(fù)功能不做改變時只需要修改補丁號即可。

舉例說明:

package 1.0.0 提供了 list() 方法用于列出所有的集合數(shù)據(jù)。
package 1.0.1 修復(fù)了list()方法沒有判斷集合為None的Bug。
package 1.1.0 修復(fù)了list()在IE瀏覽器無法執(zhí)行的問題,并兼容1.0.1版本。
package 2.0.0 添加了add(), rm() 方法,同時list()改名為toList, 無法向前兼容。

常規(guī)的做法,我們只需要手工修改package.jsonversion字段就大功告成,但是 npm version 為我們提供了酷炫的修改方式,如圖所示,經(jīng)過了三種方式的版本修訂,package.json 的 version 字段最終為 2.0

image.png
#8 運行 test

我們在日常工作中,每一天都可能會使用 npm run test 運行多次test, 何不試試 npm t讓手指減負(fù)

如果你覺得意猶未盡,還想多了解一些 npm 技巧,以下有一些筆者日常常用的命令。

安裝 package
image.png
全局安裝 package
image.png
安裝依賴并保存在 dev dependency中
image.png
安裝依賴并保存在 dependency中
image.png
結(jié)束語

假如這些命令能讓你在你的同事或者朋友面前秀一把固然好,但本文的目的只是告訴大家npm有一些技巧可以幫助我們提高工作效率和樂趣, 如果有興趣還有很多的技巧等待大家的挖掘和發(fā)現(xiàn)。

原文地址:https://dev.to/borrellidev/impress-your-colleagues-with-these-npm-tricks-3fcb

感謝原文作者 Piero Borrelli

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • NPM NPM 是隨同 Node 一起安裝的包管理工具,能解決 Node 代碼部署上的很多問題,常見的使用場景有以...
    heyi_let閱讀 2,728評論 0 2
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,367評論 2 36
  • Node.js使得在服務(wù)器端使用JavaScript編寫應(yīng)用程序成為可能。它是基于V8Javascript運行時并...
    間陽幕賓閱讀 1,686評論 0 5
  • 發(fā)現(xiàn)人上了年紀(jì),跟年輕人確實代購越來越大,很多時候不知道說什么??墒窃谝黄鹩袝r候不說話就很尷尬,為了緩解尷尬而去不...
    一介俗人十六閱讀 303評論 0 1
  • 今天忽然有個人問我:“讀書有用嗎?” “當(dāng)然有用了,不然那么多人讀書干嘛~” “有什么用?” “……” 忽然語塞,...
    讓dream照進(jìn)現(xiàn)實閱讀 236評論 1 3

友情鏈接更多精彩內(nèi)容