【譯】用8個 npm 技巧打動你的同事

jacksonX發表於2017-05-25

原文地址: 8 npm Tricks You Can Use to Impress Your Colleagues
作者: Adir Amsalem
譯者: weapon-x


你看一個同事正在編碼,其中應用上了一些簡寫和技巧,不知為何,你不熟悉它並且你的大腦一片混亂,這種場景發生在過去我們每個人身上。

在這篇短文中,我們將會介紹一些非常實用的 npm 技巧。有很多文章中的技巧會比這裡覆蓋得更廣,所以我選擇把重點放在與開發者最相關和使用的工作流中。

開始之前一些基礎的簡寫

為了讓每個人都對齊進度,特別是新來的同學,一起來快速瀏覽一遍基礎簡寫,保證沒有錯過任何細節。

安裝包

常規: npm install pkg 簡寫:npm i pkg

安裝包在全域性

常規: npm i --global pkg 簡寫:npm i -g pkg

安裝包作為依賴(dependency)

常規: npm i --save pkg 簡寫:npm i -S pkg

安裝包作為開發依賴(devDependency)

常規: npm i --save-dev pkg 簡寫:npm i -D pkg

其餘的簡寫請閱讀 npm 的簡寫列表

現在開始讓我們來做一些有趣的事情吧。

1.初始化一個新的包

我們都知道 npm init,當我們建立一個新的包時,這是我們做的第一件事。

【譯】用8個 npm 技巧打動你的同事
npm init 需要填寫一系列問題

但是,以上的問題是非常煩人的,同時我們會修改它,所以我們為什麼不避開它呢?

npm init -ynpm init -f 可以很好地解決。

【譯】用8個 npm 技巧打動你的同事
npm init -y

2.執行測試

另一個我們都會用到的命令是 npm test,我們當中大多數人每天都在使用它,可能一天好幾次。

【譯】用8個 npm 技巧打動你的同事
npm test

假如我告訴,你用減少 40% 的字數做同樣的事情那要怎麼做呢?我們可以這樣做,並且這是一個完勝。

那就是 npm t

【譯】用8個 npm 技巧打動你的同事
npm t

3.列舉可執行的指令碼

我們拿到了一個新專案,就會考慮如何去開始上手。我們經常會自問這些事情:我該如何執行呢?哪些指令碼是可用的呢?

一個方法是開啟 package.json 檔案並檢查 scripts 部分。

【譯】用8個 npm 技巧打動你的同事
package.json

我們當然可以做得更好,所以我們可以執行 npm run 並且得到所有可用指令碼的列表。

【譯】用8個 npm 技巧打動你的同事
npm run

其餘的選項可以安裝 ntl (npm i -g ntl),然後在專案檔案目錄下執行 ntl ,這樣可以讓執行指令碼變得非常方便。

【譯】用8個 npm 技巧打動你的同事
ntl

4.列舉已安裝的包

與可用指令碼相似,有時我們會問自己:我們擁有哪些依賴包在專案中。

我們可以再一次開啟 package.json 檔案去檢查,但是我們已經知道可以做的更好。

迎接 npm ls --depth 0

【譯】用8個 npm 技巧打動你的同事
npm ls --depth 0

列舉全域性安裝的包,我們可以加上 -g 標誌,npm ls -g --depth 0

【譯】用8個 npm 技巧打動你的同事
npm ls -g --depth 0

5.執行本地安裝的可執行檔案

我們安裝了包在專案中,它附帶了一個可執行檔案,但是它只能通過 npm 指令碼來執行,你想知道為什麼或者如何去拿下它嗎?

首先來理解為什麼 -- 當我們在 terminal 中執行命令時,實際發生的是,它在 PATH 環境變數裡列舉出所有的路徑,去尋找相同名字的可執行檔案。安裝在本地的包只在本地註冊了他們的執行檔案,所以他們不會被列在 PATH 環境變數中以至於不會被找到。

這時你可能會問,當我們通過 npm 指令碼執行這些可執行檔案時是如何正常工作的?問的好!這是因為 npm 用了一些“手法”並且新增了額外的資料夾到 PATH 中,<project-directory>/node_modules/.bin

你可以通過執行 npm run env | grep "$PATH 看到它,也可以執行 npm run env 來看到所有可用的環境變數,npm 會新增一些有趣的東西。

node_modules/.bin,假如你知道,這恰恰就是本地安裝包放置其可執行檔案的地方。

在專案目錄下,讓我們來執行 ./node_modules/.bin/mocha 看看。

【譯】用8個 npm 技巧打動你的同事
./node_modules/.bin/mocha

很簡單對吧?無論何時,你想要執行本地安裝的執行檔案的話就執行 ./node_modules/.bin/<command>

6.在網上找到你的包

你可能會在 package.json 檔案中看到倉庫的入口並且想知道它用來做什麼呢?

回答這個問題,只需要簡單地執行 npm repo 就可以在瀏覽器開啟並檢視了。

還有同樣適用的是,npm home 命令對應 homepage 入口。

假如你想在 npmjs.com 開啟包的頁面,這也有相當棒的簡寫可以做到,npm docs

7.在其他指令碼之前和之後執行指令碼

你可能熟悉諸如預測試之類的指令碼,這允許你可以在執行測試指令碼之前編寫程式碼。

你可能會驚喜地發現,對於每個指令碼可以有 pre 和 post 指令碼,包括你自己的指令碼。

【譯】用8個 npm 技巧打動你的同事
pre and post script

這在使用 npm 作為構建工具和需要編寫許多指令碼的專案中會非常有用。

8.檢測包的版本

假如你擁有一個包,使用了 semver (語義化版本規範)來控制版本,在釋出新版本之前需要做一次版本檢測。

其中一個方法是,開啟 package.json 檔案去手動修改版本,但我們希望不要這樣去做。

更簡單的方法是執行 npm version 帶上 majorminor 或者 patch

【譯】用8個 npm 技巧打動你的同事
npm version

目前為止,以上就是全部了。

我希望你能學到新的東西和找到一個對日常工作有用的技巧,可以更好的瞭解 npm 並且有一些新的想法可以更好地運用在工作中。

更好地打動你的同事,最好經常學習新的東西變得更加專業。

如果你知道其他的實用技巧,請在評論中分享~

相關文章