NodeJS 工程師必備的 8 個工具

HaleyPrimro 7年前發布 | 18K 次閱讀 Node.js Node.js 開發

NodeJS 自誕生以來,社區的發展速度超出了所有人的想象,現在甚至可以被用來做諸如智能硬件、人臉識別的很多事情。在各種軟件工程工作流中實現自動化,比如 APP 打包、 WEB 開發方面自然也少不了它。根據我個人的經驗, NodeJS 是用來快速構建精巧的、模塊化的、能讓開發者更輕松的各種工具的最佳選擇。

下面是我長期開發積累的,全局安裝在開發機上,頻繁使用并且能在開發工作流中帶來事半功倍效果的 8 個命令行工具,推薦給大家,希望對大家有用。

1. create-react-app:快速搭建 React 應用的原型

安裝方法: npm install -g create-react-app , create-react-app 由 非死book 出品,能夠幫你快速的生成 React 應用的骨架,里面包括典型 React 應用的基礎依賴,最佳實踐,包括:開發環境的各種工具,能直接修改運行的測試文件、工具,幫你構建源代碼以便發布到生產環境的腳本。

2. standard:傻瓜式的 Javascript 語法檢查工具

安裝方法: npm install -g standard , standard 是代碼檢查工具領域的新秀,代碼檢查存在的必要性這里不再贅述。在代碼風格檢查領域有幾款優秀的工具,按出現的先后順序為: jslint 、 jshint 、 eslint ,而跟 standard 同時出現的還要很多其他的,他的特點是傻瓜式,零配置即可上手,目前在已經有不少開源項目使用了這種風格,無需任何配置,只需要用過命令行就可以確保所有的代碼貢獻者提交的代碼是風格一致的。

3. nodemon:自動重啟 NodeJS 應用

安裝方法, npm install -g nodemon , nodemon 是一款監聽服務運行時所在的目錄源代碼變化并自動重啟服務的工具,是項目快速迭代時的完美伴侶,因為 nodemon 能幫你把重復工作降到最低。理論上 nodemon 支持各種語言的服務重啟,并且支持監聽目錄和文件的自定義配置。

4. pm2:便捷管理 node 服務進程

安裝方法, npm install -g pm2 , pm2 是一款非常強大的服務進程管理工具,尤其適合用在生產環境,人人車所有的線上 node 服務都是用他來管理,開箱即用的特性包括:進程監控、負載均衡、內存監控、日志管理、服務管理。并且有需要的同學可以開啟他官方的 node 應用監控后臺支持: keymetrics.io

5. localtunnel:把本機服務暴露到外網

安裝方法: npm install -g localtunnel , localtunnel 能夠讓你快速的把本機的服務暴露到公網上,提供給其他人使用、測試,不需要任何域名、虛擬主機。典型的使用場景比如做前端開發的同學可以利用這個工具把開發環境的服務提供給 PM 或者 QA 驗收使用。提供類似服務的還有 ngrok 及其國內克隆版 natapp ,但是都是收費的。

6. david:幫你找到已經過期的依賴包

安裝方法: npm install -g david , david 不僅僅能夠讓你知道你的項目中哪些依賴包需要升級,還提供了快速升級包的機制。 npm 內置的工具有 npm outdated ,但是 david 較之更優。

7. nvm:Node 版本管理器

安裝方法參見 nvm ,該工具不是 NodeJS 編寫。顧名思義,他能夠幫你安裝、管理、切換不同版本的 NodeJS 引擎,對于開源項目維護者來說尤其實用。比如:你的項目需要支持 NodeJS 的 Current Release (7.X),也要支持 LTS Release (6.X),在跑測試的時候,輔以簡單的腳本就可以在多個不同版本上做自動化回歸。

8. yarn:比 npm 更好的包管理器

安裝方法: npm install -g yarn , yarn 是 非死book 出品的改良版 NodeJS 包管理器,在性能上有非常大的改進,依賴管理方面也修復了 npm 被人詬病了很久的無法鎖定依賴的問題,但是國內的同學使用可能偶爾會遇到服務不穩定的情況。

結語:學習編程就像是在修煉武功,武學中倡導內外兼修,上述這些工具可以說是外家功夫,只要上手去用,遇到問題多搜索,假以時日你的開發效率自然會精進。

 

來自:http://codebay.cn/post/1235.html?1489584205433

 

 本文由用戶 HaleyPrimro 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!