狠狠色噜噜狠狠狠狠2021,久久精品国产亚洲av麻豆白洁,777米奇影视盒,国内精品老年人视频网站

9 個(gè) Node.js 開(kāi)發(fā)人員最喜歡的開(kāi)源工具(node.js開(kāi)源項(xiàng)目)

在眾多可用于簡(jiǎn)化 Node.js 開(kāi)發(fā)的工具中,以下 9 種是最佳選擇。

個(gè)

我最近在 StackOverflow上讀到了一項(xiàng)調(diào)查,該調(diào)查稱(chēng)超過(guò) 49% 的開(kāi)發(fā)人員在其項(xiàng)目中使用了 Node.js。這結(jié)果對(duì)我來(lái)說(shuō)并不意外。

作為一個(gè)狂熱的技術(shù)使用者,我可以肯定地說(shuō) Node.js 的引入引領(lǐng)了軟件開(kāi)發(fā)的新時(shí)代?,F(xiàn)在,它是軟件開(kāi)發(fā)最受歡迎的技術(shù)之一,僅次于JavaScript。

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

Node.js 是一個(gè)跨平臺(tái)的開(kāi)源運(yùn)行環(huán)境,用于在瀏覽器之外執(zhí)行 JavaScript 代碼。它也是建立在 Chrome 的 JavaScript 運(yùn)行時(shí)之上的首選運(yùn)行時(shí)環(huán)境,主要用于構(gòu)建快速、可擴(kuò)展和高效的網(wǎng)絡(luò)應(yīng)用程序。

我記得當(dāng)時(shí)我們要花費(fèi)幾個(gè)小時(shí)來(lái)協(xié)調(diào)前端和后端開(kāi)發(fā)人員,他們分別編寫(xiě)不同腳本。當(dāng) Node.js 出現(xiàn)后,所有這些都改變了。我相信,促使開(kāi)發(fā)人員采用這項(xiàng)技術(shù)是因?yàn)樗碾p向效率。

使用 Node.js,你可以讓你的代碼同時(shí)運(yùn)行在客戶(hù)端和服務(wù)器端,從而加快了整個(gè)開(kāi)發(fā)過(guò)程。Node.js 彌合了前端和后端開(kāi)發(fā)之間的差距,并使開(kāi)發(fā)過(guò)程更加高效。

Node.js 工具浪潮

對(duì)于 49% 的開(kāi)發(fā)人員(包括我)來(lái)說(shuō),Node.js 處于在前端和后端開(kāi)發(fā)的金字塔頂端。有大量的 Node.js 用例幫助我和我的團(tuán)隊(duì)在截止日期之內(nèi)交付復(fù)雜的項(xiàng)目。幸運(yùn)的是,Node.js 的日益普及也產(chǎn)生了一系列開(kāi)源項(xiàng)目和工具,以幫助開(kāi)發(fā)人員使用該環(huán)境。

近來(lái),對(duì)使用 Node.js 構(gòu)建的項(xiàng)目的需求突然增加。有時(shí),我發(fā)現(xiàn)管理這些項(xiàng)目,并同時(shí)保持交付高質(zhì)量項(xiàng)目的步伐非常具有挑戰(zhàn)性。因此,我決定使用為 Node.js 開(kāi)發(fā)人員提供的許多開(kāi)源工具中一些最高效的,使某些方面的開(kāi)發(fā)自動(dòng)化。

根據(jù)我在 Node.js 方面的豐富經(jīng)驗(yàn),我使用了許多的工具,這些工具對(duì)整個(gè)開(kāi)發(fā)過(guò)程都非常有幫助:從簡(jiǎn)化編碼過(guò)程,到監(jiān)測(cè)再到內(nèi)容管理。

為了幫助我的 Node.js 開(kāi)發(fā)同道,我整理了這個(gè)列表,其中包括我最喜歡的 9 個(gè)簡(jiǎn)化 Node.js 開(kāi)發(fā)的開(kāi)源工具。

Webpack

Webpack是一個(gè)容易使用的 JavaScript 模塊捆綁程序module bundler,用于簡(jiǎn)化前端開(kāi)發(fā)。它會(huì)檢測(cè)具有依賴(lài)的模塊,并將其轉(zhuǎn)換為描述模塊的靜態(tài)素材asset。

可以通過(guò)軟件包管理器 npm 或 Yarn 安裝該工具。

利用 npm 命令安裝如下:

npm install --save-dev webpack

利用 Yarn 命令安裝如下:

yarn add webpack --dev

Webpack 可以創(chuàng)建在運(yùn)行時(shí)異步加載的單個(gè)捆綁包或多個(gè)素材鏈。不必單獨(dú)加載。使用 Webpack 工具可以快速高效地打包這些素材并提供服務(wù),從而改善用戶(hù)整體體驗(yàn),并減少開(kāi)發(fā)人員在管理加載時(shí)間方面的困難。

Strapi

Strapi是一個(gè)開(kāi)源的無(wú)界面headless內(nèi)容管理系統(tǒng)(CMS)。無(wú)界面 CMS 是一種基礎(chǔ)軟件,可以管理內(nèi)容而無(wú)需預(yù)先構(gòu)建好的前端。它是一個(gè)使用 RESTful API 函數(shù)的只有后端的系統(tǒng)。

可以通過(guò)軟件包管理器 Yarn 或 npx 安裝 Strapi。

利用 Yarn 命令安裝如下:

yarn create strapi-app my-project --quickstart

利用 npx 命令安裝如下:

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

Strapi 的目標(biāo)是在任何設(shè)備上以結(jié)構(gòu)化的方式獲取和交付內(nèi)容。CMS 可以使你輕松管理應(yīng)用程序的內(nèi)容,并確保它們是動(dòng)態(tài)的,可以在任何設(shè)備上訪(fǎng)問(wèn)。

它提供了許多功能,包括文件上傳、內(nèi)置的電子郵件系統(tǒng)、JSON Web Token(JWT)驗(yàn)證和自動(dòng)生成文檔。我發(fā)現(xiàn)它非常方便,因?yàn)樗?jiǎn)化了整個(gè) CMS,并為我提供了編輯、創(chuàng)建或刪除所有類(lèi)型內(nèi)容的完全自主權(quán)。

另外,通過(guò) Strapi 構(gòu)建的內(nèi)容結(jié)構(gòu)非常靈活,因?yàn)槟憧梢詣?chuàng)建和重用內(nèi)容組和可定制的 API。

Broccoli

Broccoli是一個(gè)功能強(qiáng)大的構(gòu)建工具,運(yùn)行在ES6模塊上。構(gòu)建工具是一種軟件,可讓你將應(yīng)用程序或網(wǎng)站中的所有各種素材(例如圖像、CSS、JavaScript 等)組合成一種可分發(fā)的格式。Broccoli 將自己稱(chēng)為 “雄心勃勃的應(yīng)用程序的素材管道”。

使用 Broccoli 你需要一個(gè)項(xiàng)目目錄。有了項(xiàng)目目錄后,可以使用以下命令通過(guò) npm 安裝 Broccoli:

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

你也可以使用 Yarn 進(jìn)行安裝。

當(dāng)前版本的 Node.js 就是使用該工具的最佳版本,因?yàn)樗峁┝碎L(zhǎng)期支持。它可以幫助你避免進(jìn)行更新和重新安裝過(guò)程中的麻煩。安裝過(guò)程完成后,可以在 Brocfile.js文件中包含構(gòu)建規(guī)范。

在 Broccoli 中,抽象單位是“樹(shù)”,該樹(shù)將文件和子目錄存儲(chǔ)在特定子目錄中。因此,在構(gòu)建之前,你必須有一個(gè)具體的想法,你希望你的構(gòu)建是什么樣子的。

最好的是,Broccoli 帶有用于開(kāi)發(fā)的內(nèi)置服務(wù)器,可讓你將素材托管在本地 HTTP 服務(wù)器上。Broccoli 非常適合流線(xiàn)型重建,因?yàn)槠浜?jiǎn)潔的架構(gòu)和靈活的生態(tài)系統(tǒng)可提高重建和編譯速度。Broccoli 可讓你井井有條,以節(jié)省時(shí)間并在開(kāi)發(fā)過(guò)程中最大限度地提高生產(chǎn)力。

Danger

Danger是一個(gè)非常方便的開(kāi)源工具,用于簡(jiǎn)化你的拉取請(qǐng)求pull request(PR)檢查。正如 Danger 庫(kù)描述所說(shuō),該工具可通過(guò)管理 PR 檢查來(lái)幫助 “正規(guī)化” 你的代碼審查系統(tǒng)。Danger 可以與你的 CI 集成在一起,幫助你加快審核過(guò)程。

將 Danger 與你的項(xiàng)目集成是一個(gè)簡(jiǎn)單的逐步過(guò)程:你只需要包括 Danger 模塊,并為每個(gè)項(xiàng)目創(chuàng)建一個(gè) Danger 文件。然而,創(chuàng)建一個(gè) Danger 帳戶(hù)(通過(guò) GitHub 或 Bitbucket 很容易做到),并且為開(kāi)源軟件項(xiàng)目設(shè)置訪(fǎng)問(wèn)令牌更加方便。

可以通過(guò) NPM 或 Yarn 安裝 Danger。要使用 Yarn,請(qǐng)?zhí)砑?danger -Dpackage.JSON中。

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

  • 高亮顯示重要的創(chuàng)建工件
  • 通過(guò)強(qiáng)制鏈接到 Trello 和 Jira 之類(lèi)的工具來(lái)管理 sprint
  • 強(qiáng)制生成更新日志
  • 使用描述性標(biāo)簽
  • 以及更多

例如,你可以設(shè)計(jì)一個(gè)定義團(tuán)隊(duì)文化并為代碼審查和 PR 檢查設(shè)定特定規(guī)則的系統(tǒng)。根據(jù) Danger 提供的元數(shù)據(jù)及其廣泛的插件生態(tài)系統(tǒng),可以解決常見(jiàn)的議題issue。

Snyk

網(wǎng)絡(luò)安全是開(kāi)發(fā)人員的主要關(guān)注點(diǎn)。Snyk是修復(fù)開(kāi)源組件中漏洞的最著名工具之一。它最初是一個(gè)用于修復(fù) Node.js 項(xiàng)目漏洞的項(xiàng)目,并且已經(jīng)演變?yōu)榭梢詸z測(cè)并修復(fù) Ruby、Java、Python 和 Scala 應(yīng)用程序中的漏洞。Snyk 主要分四個(gè)階段運(yùn)行:

  • 查找漏洞依賴(lài)性
  • 修復(fù)特定漏洞
  • 通過(guò) PR 檢查預(yù)防安全風(fēng)險(xiǎn)
  • 持續(xù)監(jiān)控應(yīng)用程序

Snyk 可以集成在項(xiàng)目的任何階段,包括編碼、CI/CD 和報(bào)告。我發(fā)現(xiàn)這對(duì)于測(cè)試 Node.js 項(xiàng)目非常有幫助,可以測(cè)試或構(gòu)建 npm 軟件包時(shí)檢查是否存在安全風(fēng)險(xiǎn)。你還可以在 GitHub 中為你的應(yīng)用程序運(yùn)行 PR 檢查,以使你的項(xiàng)目更安全。Synx 還提供了一系列集成,可用于監(jiān)控依賴(lài)關(guān)系并解決特定問(wèn)題。

要在本地計(jì)算機(jī)上運(yùn)行 Snyk,可以通過(guò) NPM 安裝它:

npm install -g snyk

Migrat

Migrat是一款使用純文本的數(shù)據(jù)遷移工具,非常易于使用。 它可在各種軟件堆棧和進(jìn)程中工作,從而使其更加實(shí)用。你可以使用簡(jiǎn)單的代碼行安裝 Migrat:

$ npm install -g migrat

Migrat 并不需要特別的數(shù)據(jù)庫(kù)引擎。它支持多節(jié)點(diǎn)環(huán)境,因?yàn)檫w移可以在一個(gè)全局節(jié)點(diǎn)上運(yùn)行,也可以在每個(gè)服務(wù)器上運(yùn)行一次。Migrat 之所以方便,是因?yàn)樗阌谙蛎總€(gè)遷移傳遞上下文。

你可以定義每個(gè)遷移的用途(例如,數(shù)據(jù)庫(kù)集、連接、日志接口等)。此外,為了避免隨意遷移,即多個(gè)服務(wù)器在全局范圍內(nèi)進(jìn)行遷移,Migrat 可以在進(jìn)程運(yùn)行時(shí)進(jìn)行全局鎖定,從而使其只能在全局范圍內(nèi)運(yùn)行一次。它還附帶了一系列用于 SQL 數(shù)據(jù)庫(kù)、Slack、HipChat 和 Datadog 儀表盤(pán)的插件。你可以將實(shí)時(shí)遷移狀況發(fā)送到這些平臺(tái)中的任何一個(gè)。

Clinic.js

Clinic.js是一個(gè)用于 Node.js 項(xiàng)目的開(kāi)源監(jiān)視工具。它結(jié)合了三種不同的工具 Doctor、Bubbleprof 和 Flame,幫助你監(jiān)控、檢測(cè)和解決 Node.js 的性能問(wèn)題。

你可以通過(guò)運(yùn)行以下命令從 npm 安裝 Clinic.js:

$ npm install clinic

你可以根據(jù)要監(jiān)視項(xiàng)目的某個(gè)方面以及要生成的報(bào)告,選擇要使用的 Clinic.js 包含的三個(gè)工具中的一個(gè):

  • Doctor 通過(guò)注入探針來(lái)提供詳細(xì)的指標(biāo),并就項(xiàng)目的總體運(yùn)行狀況提供建議。
  • Bubbleprof 非常適合分析,并使用 async_hooks生成指標(biāo)。
  • Flame 非常適合發(fā)現(xiàn)代碼中的熱路徑和瓶頸。

PM2

監(jiān)視是后端開(kāi)發(fā)過(guò)程中最重要的方面之一。PM2是一款 Node.js 的進(jìn)程管理工具,可幫助開(kāi)發(fā)人員監(jiān)視項(xiàng)目的多個(gè)方面,例如日志、延遲和速度。該工具與 Linux、MacOS 和 Windows 兼容,并支持從 Node.js 8.X 開(kāi)始的所有 Node.js 版本。

你可以使用以下命令通過(guò) npm 安裝 PM2:

$ npm install pm2 --g

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

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

安裝完成后,使用以下命令啟動(dòng)應(yīng)用程序:

$ pm2 start app.js

關(guān)于 PM2 最好的地方是可以在集群模式下運(yùn)行應(yīng)用程序??梢酝瑫r(shí)為多個(gè) CPU 內(nèi)核生成一個(gè)進(jìn)程。這樣可以輕松增強(qiáng)應(yīng)用程序性能并最大程度地提高可靠性。PM2 也非常適合更新工作,因?yàn)槟憧梢允褂?“熱重載” 選項(xiàng)更新應(yīng)用程序并以零停機(jī)時(shí)間重新加載應(yīng)用程序??傮w而言,它是為 Node.js 應(yīng)用程序簡(jiǎn)化進(jìn)程管理的好工具。

Electrode

Electrode是 Walmart Labs 的一個(gè)開(kāi)源應(yīng)用程序平臺(tái)。該平臺(tái)可幫助你以結(jié)構(gòu)化方式構(gòu)建大規(guī)模通用的 React/Node.js 應(yīng)用程序。

Electrode 應(yīng)用程序生成器使你可以構(gòu)建專(zhuān)注于代碼的靈活內(nèi)核,提供一些出色的模塊以向應(yīng)用程序添加復(fù)雜功能,并附帶了廣泛的工具來(lái)優(yōu)化應(yīng)用程序的 Node.js 包。

可以使用 npm 安裝 Electrode。安裝完成后,你可以使用 Ignite 啟動(dòng)應(yīng)用程序,并深入研究 Electrode 應(yīng)用程序生成器。

你可以使用 NPM 安裝 Electrode:

npm install -g electrode-ignite xclap-cli

你最喜歡哪一個(gè)?

這些只是不斷增長(zhǎng)的開(kāi)源工具列表中的一小部分,在使用 Node.js 時(shí),這些工具可以在不同階段派上用場(chǎng)。你最喜歡使用哪些開(kāi)源 Node.js 工具?請(qǐng)?jiān)谠u(píng)論中分享你的建議。

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

作者:Hiren Dhadhuk選題:lujun9972譯者:stevenzdg988校對(duì):wxy

本文由 LCTT原創(chuàng)編譯,Linux中國(guó)榮譽(yù)推出

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀(guān)點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2023年5月13日 上午10:27
下一篇 2023年5月13日 上午10:43

相關(guān)推薦