Node 应用篇!推荐 10 个好用的 Node 的开源项目 YYDS
大家好,我是你們的 貓哥,那個(gè)不喜歡吃魚、又不喜歡喵 的超級(jí)貓又在線營(yíng)業(yè)啦 ~
平時(shí)如何發(fā)現(xiàn)好的開源項(xiàng)目,可以看看這篇文章:GitHub 上能挖礦的神仙技巧 - 如何發(fā)現(xiàn)優(yōu)秀開源項(xiàng)目
1. puppeteer
Puppeteer 是一個(gè) Node 庫(kù),它提供了一個(gè)高級(jí) API 來(lái)通過(guò) DevTools 協(xié)議控制 Chromium 或 Chrome。Puppeteer 默認(rèn)以 headless 模式運(yùn)行,但是可以通過(guò)修改配置文件運(yùn)行“有頭”模式。
可以在瀏覽器中手動(dòng)執(zhí)行的絕大多數(shù)操作都可以使用 Puppeteer 來(lái)完成!
下面是一些示例:
生成頁(yè)面 PDF。
抓取 SPA(單頁(yè)應(yīng)用)并生成預(yù)渲染內(nèi)容(即“SSR”(服務(wù)器端渲染))。
自動(dòng)提交表單,進(jìn)行 UI 測(cè)試,鍵盤輸入等。
創(chuàng)建一個(gè)時(shí)時(shí)更新的自動(dòng)化測(cè)試環(huán)境。使用最新的 JavaScript 和瀏覽器功能直接在最新版本的Chrome中執(zhí)行測(cè)試。
捕獲網(wǎng)站的 timeline trace,用來(lái)幫助分析性能問(wèn)題。
測(cè)試瀏覽器擴(kuò)展。
https://github.com/puppeteer/puppeteer
2. nodebestpractices
Node.js 最佳實(shí)踐
這是對(duì) Node.js 最佳實(shí)踐中排名最高的內(nèi)容的總結(jié)和分享
目錄
項(xiàng)目結(jié)構(gòu)實(shí)踐 (5)
異常處理實(shí)踐 (11)
編碼規(guī)范實(shí)踐 (12)
測(cè)試和總體質(zhì)量實(shí)踐 (8)
進(jìn)入生產(chǎn)實(shí)踐 (16)
? 新: 安全實(shí)踐(23)
Performance Practices (coming soon)
https://github.com/goldbergyoni/nodebestpractices
3. nvm
nvm 是 node 的包管理工具。由于在打開不同的項(xiàng)目時(shí),不同的項(xiàng)目在安裝依賴時(shí)可能會(huì)和 node 版本有關(guān),所以這就需要我們?cè)诓煌捻?xiàng)目下使用不同的 node 版本。
nvm 就是一個(gè)比較好用 node 管理工具,切換 node 版本。
使用也極其簡(jiǎn)單
nvm?install?stable?##?安裝最新穩(wěn)定版?node nvm?install?<version>?##?安裝指定版本 nvm?uninstall?<version>?##?刪除已安裝的指定版本 nvm?use?<version>?##?切換使用指定的版本node nvm?ls?##?列出所有安裝的版本 nvm?ls-remote?##?列出所有遠(yuǎn)程服務(wù)器的版本 nvm?current?##?顯示當(dāng)前的版本 nvm?alias?<name>?<version>?##?給不同的版本號(hào)添加別名 nvm?unalias?<name>?##?刪除已定義的別名 nvm?reinstall-packages?<version>?##?在當(dāng)前版本?node?環(huán)境下,重新???全局安裝指定版本號(hào)的?npm?包 nvm?alias?default?[node版本號(hào)]?##設(shè)置默認(rèn)版本https://github.com/nvm-sh/nvm
4. nest
用于構(gòu)建高效且可伸縮的服務(wù)端應(yīng)用程序的漸進(jìn)式 Node.js 框架。
完美支持 Typescript
面向 AOP 編程
支持 Typeorm
高并發(fā),異步非阻塞 IO
Node.js 版的 spring
構(gòu)建微服務(wù)應(yīng)用
https://github.com/nestjs/nest
5. yarn
快速、可靠、安全的依賴管理工具。
速度超快。Yarn 緩存了每個(gè)下載過(guò)的包,所以再次使用時(shí)無(wú)需重復(fù)下載。同時(shí)利用并行下載以最大化資源利用率,因此安裝速度更快。
超級(jí)安全。在執(zhí)行代碼之前,Yarn 會(huì)通過(guò)算法校驗(yàn)每個(gè)安裝包的完整性。
超級(jí)可靠。使用詳細(xì)、簡(jiǎn)潔的鎖文件格式和明確的安裝算法,Yarn 能夠保證在不同系統(tǒng)上無(wú)差異的工作。
https://github.com/yarnpkg/yarn
6. playwright
Playwright 是由微軟公司 2020 年初發(fā)布的新一代自動(dòng)化測(cè)試工具,相較于目前最常用的 Selenium,它僅用一個(gè) API 即可自動(dòng)執(zhí)行 Chromium、Firefox、WebKit 等主流瀏覽器自動(dòng)化操作。作為針對(duì) Python 語(yǔ)言純自動(dòng)化的工具,在回歸測(cè)試中可更快的實(shí)現(xiàn)自動(dòng)化。
Playwright 的優(yōu)勢(shì)
Selenium 需要通過(guò) WebDriver 操作瀏覽器;Playwright 通過(guò)開發(fā)者工具與瀏覽器交互,安裝簡(jiǎn)潔,不需要安裝各種 Driver。
Playwright 幾乎支持所有語(yǔ)言,且不依賴于各種 Driver,通過(guò)調(diào)用內(nèi)置瀏覽器所以啟動(dòng)速度更快。
Selenium 基于 HTTP 協(xié)議(單向通訊),Playwright 基于 Websocket(雙向通訊)可自動(dòng)獲取瀏覽器實(shí)際情況。
Playwright 為自動(dòng)等待。等待元素出現(xiàn)(定位元素時(shí),自動(dòng)等待 30s,等待時(shí)間可以自定義,單位毫秒)、等待事件發(fā)生。
https://github.com/microsoft/playwright
7. hexo
快速、簡(jiǎn)潔且高效的博客框架
超快速度 Node.js 所帶來(lái)的超快生成速度,讓上百個(gè)頁(yè)面在幾秒內(nèi)瞬間完成渲染。
支持 Markdown Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多數(shù)插件。
一鍵部署 只需一條指令即可部署到 GitHub Pages, Heroku 或其他平臺(tái)。
插件和可擴(kuò)展性 強(qiáng)大的 API 帶來(lái)無(wú)限的可能,與數(shù)種模板引擎(EJS,Pug,Nunjucks)和工具(Babel,PostCSS,Less/Sass)輕易集成
https://github.com/hexojs/hexo
8. nodemon
Nodemon 是一款非常實(shí)用的工具,用來(lái)監(jiān)控你 node.js 源代碼的任何變化和自動(dòng)重啟你的服務(wù)器。
Nodemon 是一款完美的開發(fā)工具,可以使用 npm 安裝。
設(shè)計(jì)原則
更少的標(biāo)志更好
適用于所有平臺(tái)
更少的功能
讓個(gè)人建立在 nodemon 之上
提供所有 CLI 功能作為 API
貢獻(xiàn)必須通過(guò)測(cè)試
https://github.com/remy/nodemon
9. fastify
Fastify,快速并且低開銷的 web 框架,專為 Node.js 平臺(tái)量身打造。
高效的服務(wù)器意味著更低的基礎(chǔ)設(shè)施成本、更好的負(fù)載響應(yīng)能力和用戶滿意度。在不犧牲安全驗(yàn)證和便捷開發(fā)的前提下,如何知道服務(wù)器正在處理盡可能多的請(qǐng)求,又如何有效地處理服務(wù)器資源?
使用 Fastify 吧。Fastify 是一個(gè)高度專注于以最少的開銷和強(qiáng)大的插件架構(gòu)為開發(fā)人員提供最佳開發(fā)體驗(yàn)的 Web 框架。Fastify 受到 Hapi 和 Express 框架的啟發(fā)。據(jù)我們所知,Fastify 是我們村最快的 web 框架之一,也是我們“全村的希望”!
https://github.com/fastify/fastify
10. sharp
高性能 Node.js 圖像處理,調(diào)整 JPEG、PNG、WebP、AVIF 和 TIFF 圖像大小的最快模塊。使用 libvips 庫(kù)。
由于使用了libvips ?,調(diào)整圖像大小通常比使用最快的 ImageMagick 和 GraphicsMagick 設(shè)置快 4 到 5 倍。
顏色空間、嵌入的 ICC 配置文件和 alpha 透明度通道都得到了正確處理。Lanczos 重采樣確保質(zhì)量不會(huì)因速度而犧牲。
除了圖像大小調(diào)整之外,還提供旋轉(zhuǎn)、提取、合成和伽馬校正等操作。
大多數(shù)運(yùn)行 Node.js >= 12.13.0 的現(xiàn)代 macOS、Windows 和 Linux 系統(tǒng)不需要任何額外的安裝或運(yùn)行時(shí)依賴項(xiàng)。
https://github.com/lovell/sharp
最后
推薦 9 個(gè) Node.js 學(xué)習(xí)、進(jìn)階、debugging 分析、實(shí)戰(zhàn) 的重磅開源項(xiàng)目
平時(shí)如何發(fā)現(xiàn)好的開源項(xiàng)目,可以看看這篇文章:GitHub 上能挖礦的神仙技巧 - 如何發(fā)現(xiàn)優(yōu)秀開源項(xiàng)目
更多精彩項(xiàng)目,請(qǐng)看下方寶藏倉(cāng)庫(kù),請(qǐng)慎入!
https://github.com/FrontEndGitHub/FrontEndGitHub
不知不覺(jué),原創(chuàng)文章已經(jīng)寫到第 68 期了呢,幾乎每一篇都是貓哥精心挑選的優(yōu)質(zhì)開源項(xiàng)目,推送的每一篇文章里面的項(xiàng)目幾乎都是對(duì)前端開發(fā)很有幫助的。
原創(chuàng)不易,一篇優(yōu)質(zhì)的文章都是要肝幾個(gè)晚上才能肝出來(lái)的,花費(fèi)很多時(shí)間、精力去篩選和寫推薦理由,大佬們看完文章后順手點(diǎn)個(gè)贊或者轉(zhuǎn)發(fā)吧,就當(dāng)給貓哥一點(diǎn)鼓勵(lì)吧。
往期精文
推薦 12 個(gè)好用的 React 的開源項(xiàng)目,YYDS!
推薦 10 個(gè)好用的 Vue3 的開源項(xiàng)目,開發(fā)效率又能提升了!
推薦 9 個(gè) Node.js 學(xué)習(xí)、進(jìn)階、debugging 分析、實(shí)戰(zhàn) 的重磅開源項(xiàng)目
猛增 110K Star!年增長(zhǎng)數(shù)最多的 10 大頂級(jí)前端學(xué)習(xí)資源項(xiàng)目!
推薦 7 個(gè) Vue2、Vue3 源碼解密分析的開源項(xiàng)目
Vue3 的學(xué)習(xí)教程匯總、源碼解釋項(xiàng)目、支持的 UI 組件庫(kù)、優(yōu)質(zhì)實(shí)戰(zhàn)項(xiàng)目
關(guān)注公眾號(hào):前端GitHub,回復(fù) 電子書 即可以獲得下面 1000 本技術(shù)精華書籍哦,貓哥微信號(hào):CB834301747 。
如果不想錯(cuò)過(guò)精彩內(nèi)容,請(qǐng)多給本公眾號(hào)點(diǎn)贊哦,這樣就會(huì)先收到內(nèi)容推薦的。
總結(jié)
以上是生活随笔為你收集整理的Node 应用篇!推荐 10 个好用的 Node 的开源项目 YYDS的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2021 最流行的十大 JS 框架,前三
- 下一篇: 推荐 10 个实用型的热门开源项目,开发