Node 应用篇!推荐 10 个好用的 Node 的开源项目 YYDS

3a8d1bf419f530e33739f3ddcbffb34f.jpeg

大家好,我是你们的 猫哥,那个不喜欢吃鱼、又不喜欢喵 的超级猫又在线营业啦 ~

平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目

6f366873fa17c96cd25d31e41bd130c1.jpeg

1. puppeteer

72bb2e31bf3187ae14f43fcf53cdacde.png

Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome。Puppeteer 默认以 headless 模式运行,但是可以通过修改配置文件运行“有头”模式。

可以在浏览器中手动执行的绝大多数操作都可以使用 Puppeteer 来完成!

下面是一些示例:

  • 生成页面 PDF。

  • 抓取 SPA(单页应用)并生成预渲染内容(即“SSR”(服务器端渲染))。

  • 自动提交表单,进行 UI 测试,键盘输入等。

  • 创建一个时时更新的自动化测试环境。使用最新的 JavaScript 和浏览器功能直接在最新版本的Chrome中执行测试。

  • 捕获网站的 timeline trace,用来帮助分析性能问题。

  • 测试浏览器扩展。

https://github.com/puppeteer/puppeteer

2. nodebestpractices

ab6a409f0eeb19d7777dd088d974e3e1.png

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

9c5b0b841a562006bf6399d7560594f7.png

用于构建高效且可伸缩的服务端应用程序的渐进式 Node.js 框架。

  • 完美支持 Typescript

  • 面向 AOP 编程

  • 支持 Typeorm

  • 高并发,异步非阻塞 IO

  • Node.js 版的 spring

  • 构建微服务应用

https://github.com/nestjs/nest

5. yarn

83935c4f7ac7c054b669ba331a95929d.png

快速、可靠、安全的依赖管理工具。

速度超快。Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资源利用率,因此安装速度更快。

超级安全。在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。

超级可靠。使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。

https://github.com/yarnpkg/yarn

6. playwright

00278f2e3d512bc66e821966e5413b15.png

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

3d5594fd7454f7dd29fcf45ebc0878a0.png

快速、简洁且高效的博客框架

超快速度 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

c68add1dd4728af89db01084da787a9f.png

Fastify,快速并且低开销的 web 框架,专为 Node.js 平台量身打造。

高效的服务器意味着更低的基础设施成本、更好的负载响应能力和用户满意度。在不牺牲安全验证和便捷开发的前提下,如何知道服务器正在处理尽可能多的请求,又如何有效地处理服务器资源?

使用 Fastify 吧。Fastify 是一个高度专注于以最少的开销和强大的插件架构为开发人员提供最佳开发体验的 Web 框架。Fastify 受到 Hapi 和 Express 框架的启发。据我们所知,Fastify 是我们村最快的 web 框架之一,也是我们“全村的希望”!

https://github.com/fastify/fastify

10. sharp

8c54ff495e1d117eebcd6afdec3dc3f6.png

高性能 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 期了呢,几乎每一篇都是猫哥精心挑选的优质开源项目,推送的每一篇文章里面的项目几乎都是对前端开发很有帮助的。

原创不易,一篇优质的文章都是要肝几个晚上才能肝出来的,花费很多时间、精力去筛选和写推荐理由,大佬们看完文章后顺手点个赞或者转发吧,就当给猫哥一点鼓励吧。

往期精文

关注公众号:前端GitHub,回复 电子书 即可以获得下面 1000 本技术精华书籍哦,猫哥微信号:CB834301747

c830af20592080d2707be52c495b37ab.png c7cf58fabc1afa0fa806a7d2b05e543f.png

如果不想错过精彩内容,请多给本公众号点赞哦,这样就会先收到内容推荐的。

9fb761d99f7ed6185b5cac9c85a7d6a0.png
Node.js是一个开源的JavaScript运行时环境,可以在服务器端运行JavaScript代码。它由Ryan Dahl于2009年创建,并基于Chrome的V8 JavaScript引擎构建。Node.js的设计目标是提供一种高效且可扩展的方式来构建网络应用程序,它采用事件驱动、非阻塞I/O模型,使得它能够处理大量并发连接而不会导致性能下降。Node.js拥有一个庞大的开源生态系统,有许多优秀的开源项目供开发者使用和参与贡献。其中一些著名的Node.js开源项目包括: 1. Express.js:它是一个快速、灵活和精简的Web应用程序框架,可以帮助开发者快速构建高性能的Web应用程序。 2. Socket.io:它是一个实时通信库,可以使得服务端和客户端之间进行双向的实时通信,非常适用于构建实时聊天、实时协作等应用。 3. Sequelize:它是一个强大的ORM(对象关系映射)库,可以帮助开发者更方便地操作数据库,支持多种数据库类型。 4. Nest.js:它是一个用于构建高效且可扩展的服务器端应用程序的渐进式框架,结合了Angular的开发理念和Node.js的优势。 5. PM2:它是一个进程管理工具,可以帮助开发者管理和监控Node.js应用程序的运行状态,包括自动重启、负载均衡等功能。 这些开源项目Node.js社区中得到了广泛的应用和推广,为开发者提供了丰富的工具和库来简化开发过程,提高开发效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [NodeJS开源项目---很强大](https://blog.csdn.net/zzzkk2009/article/details/17371603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Node 应用推荐 10 个好用的 Node开源项目 YYDS](https://blog.csdn.net/m0_49394096/article/details/123196394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值