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