Linux中國

9 個 Node.js 開發人員最喜歡的開源工具

我最近在 StackOverflow 上讀到了一項調查,該調查稱超過 49% 的開發人員在其項目中使用了 Node.js。這結果對我來說並不意外。

作為一個狂熱的技術使用者,我可以肯定地說 Node.js 的引入引領了軟體開發的新時代。現在,它是軟體開發最受歡迎的技術之一,僅次於JavaScript。

Node.js 是什麼,為什麼如此受歡迎?

Node.js 是一個跨平台的開源運行環境,用於在瀏覽器之外執行 JavaScript 代碼。它也是建立在 Chrome 的 JavaScript 運行時之上的首選運行時環境,主要用於構建快速、可擴展和高效的網路應用程序。

我記得當時我們要花費幾個小時來協調前端和後端開發人員,他們分別編寫不同腳本。當 Node.js 出現後,所有這些都改變了。我相信,促使開發人員採用這項技術是因為它的雙向效率。

使用 Node.js,你可以讓你的代碼同時運行在客戶端和伺服器端,從而加快了整個開發過程。Node.js 彌合了前端和後端開發之間的差距,並使開發過程更加高效。

Node.js 工具浪潮

對於 49% 的開發人員(包括我)來說,Node.js 處於在前端和後端開發的金字塔頂端。有大量的 Node.js 用例 幫助我和我的團隊在截止日期之內交付複雜的項目。幸運的是,Node.js 的日益普及也產生了一系列開源項目和工具,以幫助開發人員使用該環境。

近來,對使用 Node.js 構建的項目的需求突然增加。有時,我發現管理這些項目,並同時保持交付高質量項目的步伐非常具有挑戰性。因此,我決定使用為 Node.js 開發人員提供的許多開源工具中一些最高效的,使某些方面的開發自動化。

根據我在 Node.js 方面的豐富經驗,我使用了許多的工具,這些工具對整個開發過程都非常有幫助:從簡化編碼過程,到監測再到內容管理。

為了幫助我的 Node.js 開發同道,我整理了這個列表,其中包括我最喜歡的 9 個簡化 Node.js 開發的開源工具。

Webpack

Webpack 是一個容易使用的 JavaScript 模塊捆綁程序 module bundler ,用於簡化前端開發。它會檢測具有依賴的模塊,並將其轉換為描述模塊的靜態 素材 asset

可以通過軟體包管理器 npm 或 Yarn 安裝該工具。

利用 npm 命令安裝如下:

npm install --save-dev webpack

利用 Yarn 命令安裝如下:

yarn add webpack --dev

Webpack 可以創建在運行時非同步載入的單個捆綁包或多個素材鏈。不必單獨載入。使用 Webpack 工具可以快速高效地打包這些素材並提供服務,從而改善用戶整體體驗,並減少開發人員在管理載入時間方面的困難。

Strapi

Strapi 是一個開源的 無界面 headless 內容管理系統(CMS)。無界面 CMS 是一種基礎軟體,可以管理內容而無需預先構建好的前端。它是一個使用 RESTful API 函數的只有後端的系統。

可以通過軟體包管理器 Yarn 或 npx 安裝 Strapi。

利用 Yarn 命令安裝如下:

yarn create strapi-app my-project --quickstart

利用 npx 命令安裝如下:

npx create-strapi-app my-project --quickstart

Strapi 的目標是在任何設備上以結構化的方式獲取和交付內容。CMS 可以使你輕鬆管理應用程序的內容,並確保它們是動態的,可以在任何設備上訪問。

它提供了許多功能,包括文件上傳、內置的電子郵件系統、JSON Web Token(JWT)驗證和自動生成文檔。我發現它非常方便,因為它簡化了整個 CMS,並為我提供了編輯、創建或刪除所有類型內容的完全自主權。

另外,通過 Strapi 構建的內容結構非常靈活,因為你可以創建和重用內容組和可定製的 API。

Broccoli

Broccoli 是一個功能強大的構建工具,運行在 ES6 模塊上。構建工具是一種軟體,可讓你將應用程序或網站中的所有各種素材(例如圖像、CSS、JavaScript 等)組合成一種可分發的格式。Broccoli 將自己稱為 「雄心勃勃的應用程序的素材管道」。

使用 Broccoli 你需要一個項目目錄。有了項目目錄後,可以使用以下命令通過 npm 安裝 Broccoli:

npm install --save-dev broccoli
npm install --global broccoli-cli

你也可以使用 Yarn 進行安裝。

當前版本的 Node.js 就是使用該工具的最佳版本,因為它提供了長期支持。它可以幫助你避免進行更新和重新安裝過程中的麻煩。安裝過程完成後,可以在 Brocfile.js 文件中包含構建規範。

在 Broccoli 中,抽象單位是「樹」,該樹將文件和子目錄存儲在特定子目錄中。因此,在構建之前,你必須有一個具體的想法,你希望你的構建是什麼樣子的。

最好的是,Broccoli 帶有用於開發的內置伺服器,可讓你將素材託管在本地 HTTP 伺服器上。Broccoli 非常適合流線型重建,因為其簡潔的架構和靈活的生態系統可提高重建和編譯速度。Broccoli 可讓你井井有條,以節省時間並在開發過程中最大限度地提高生產力。

Danger

Danger 是一個非常方便的開源工具,用於簡化你的 拉取請求 pull request (PR)檢查。正如 Danger 庫描述所說,該工具可通過管理 PR 檢查來幫助 「正規化」 你的代碼審查系統。Danger 可以與你的 CI 集成在一起,幫助你加快審核過程。

將 Danger 與你的項目集成是一個簡單的逐步過程:你只需要包括 Danger 模塊,並為每個項目創建一個 Danger 文件。然而,創建一個 Danger 帳戶(通過 GitHub 或 Bitbucket 很容易做到),並且為開源軟體項目設置訪問令牌更加方便。

可以通過 NPM 或 Yarn 安裝 Danger。要使用 Yarn,請添加 danger -Dpackage.JSON 中。

將 Danger 添加到 CI 後,你可以:

  • 高亮顯示重要的創建工件
  • 通過強制鏈接到 Trello 和 Jira 之類的工具來管理 sprint
  • 強制生成更新日誌
  • 使用描述性標籤
  • 以及更多

例如,你可以設計一個定義團隊文化並為代碼審查和 PR 檢查設定特定規則的系統。根據 Danger 提供的元數據及其廣泛的插件生態系統,可以解決常見的 議題 issue

Snyk

網路安全是開發人員的主要關注點。Snyk 是修復開源組件中漏洞的最著名工具之一。它最初是一個用於修復 Node.js 項目漏洞的項目,並且已經演變為可以檢測並修復 Ruby、Java、Python 和 Scala 應用程序中的漏洞。Snyk 主要分四個階段運行:

  • 查找漏洞依賴性
  • 修復特定漏洞
  • 通過 PR 檢查預防安全風險
  • 持續監控應用程序

Snyk 可以集成在項目的任何階段,包括編碼、CI/CD 和報告。我發現這對於測試 Node.js 項目非常有幫助,可以測試或構建 npm 軟體包時檢查是否存在安全風險。你還可以在 GitHub 中為你的應用程序運行 PR 檢查,以使你的項目更安全。Synx 還提供了一系列集成,可用於監控依賴關係並解決特定問題。

要在本地計算機上運行 Snyk,可以通過 NPM 安裝它:

npm install -g snyk

Migrat

Migrat 是一款使用純文本的數據遷移工具,非常易於使用。 它可在各種軟體堆棧和進程中工作,從而使其更加實用。你可以使用簡單的代碼行安裝 Migrat:

$ npm install -g migrat

Migrat 並不需要特別的資料庫引擎。它支持多節點環境,因為遷移可以在一個全局節點上運行,也可以在每個伺服器上運行一次。Migrat 之所以方便,是因為它便於向每個遷移傳遞上下文。

你可以定義每個遷移的用途(例如,資料庫集、連接、日誌介面等)。此外,為了避免隨意遷移,即多個伺服器在全局範圍內進行遷移,Migrat 可以在進程運行時進行全局鎖定,從而使其只能在全局範圍內運行一次。它還附帶了一系列用於 SQL 資料庫、Slack、HipChat 和 Datadog 儀錶盤的插件。你可以將實時遷移狀況發送到這些平台中的任何一個。

Clinic.js

Clinic.js 是一個用於 Node.js 項目的開源監視工具。它結合了三種不同的工具 Doctor、Bubbleprof 和 Flame,幫助你監控、檢測和解決 Node.js 的性能問題。

你可以通過運行以下命令從 npm 安裝 Clinic.js:

$ npm install clinic

你可以根據要監視項目的某個方面以及要生成的報告,選擇要使用的 Clinic.js 包含的三個工具中的一個:

  • Doctor 通過注入探針來提供詳細的指標,並就項目的總體運行狀況提供建議。
  • Bubbleprof 非常適合分析,並使用 async_hooks 生成指標。
  • Flame 非常適合發現代碼中的熱路徑和瓶頸。

PM2

監視是後端開發過程中最重要的方面之一。PM2 是一款 Node.js 的進程管理工具,可幫助開發人員監視項目的多個方面,例如日誌、延遲和速度。該工具與 Linux、MacOS 和 Windows 兼容,並支持從 Node.js 8.X 開始的所有 Node.js 版本。

你可以使用以下命令通過 npm 安裝 PM2:

$ npm install pm2 --g

如果尚未安裝 Node.js,則可以使用以下命令安裝:

wget -qO- https://getpm2.com/install.sh | bash

安裝完成後,使用以下命令啟動應用程序:

$ pm2 start app.js

關於 PM2 最好的地方是可以在集群模式下運行應用程序。可以同時為多個 CPU 內核生成一個進程。這樣可以輕鬆增強應用程序性能並最大程度地提高可靠性。PM2 也非常適合更新工作,因為你可以使用 「熱重載」 選項更新應用程序並以零停機時間重新載入應用程序。總體而言,它是為 Node.js 應用程序簡化進程管理的好工具。

Electrode

Electrode 是 Walmart Labs 的一個開源應用程序平台。該平台可幫助你以結構化方式構建大規模通用的 React/Node.js 應用程序。

Electrode 應用程序生成器使你可以構建專註於代碼的靈活內核,提供一些出色的模塊以嚮應用程序添加複雜功能,並附帶了廣泛的工具來優化應用程序的 Node.js 包。

可以使用 npm 安裝 Electrode。安裝完成後,你可以使用 Ignite 啟動應用程序,並深入研究 Electrode 應用程序生成器。

你可以使用 NPM 安裝 Electrode:

npm install -g electrode-ignite xclap-cli

你最喜歡哪一個?

這些只是不斷增長的開源工具列表中的一小部分,在使用 Node.js 時,這些工具可以在不同階段派上用場。你最喜歡使用哪些開源 Node.js 工具?請在評論中分享你的建議。

via: https://opensource.com/article/20/1/open-source-tools-nodejs

作者:Hiren Dhadhuk 選題:lujun9972 譯者:stevenzdg988 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國