2020 年面向 Node.js 开发人员的前 32 个 NPM 包
已发表: 2020-08-17Node 是异步框架市场的领导者。 该平台现在支持大部分收入数亿美元的初创公司和企业。 因此,它确立了自己作为一个平台,可以承受巨大的负载,同时保持平稳的性能。 Node.js 可能是我们看到的现代服务器工程的最大启示。 从表面上看,Node 不会很快停止。 恰恰相反。 该项目继续推出频繁的更新,并维护旧版本以支持旧平台。 新版本修复了 OpenSSL 中的一些漏洞,但也增加了对 C 和 C++ 等语言的更多支持。
从 Node.js 开始是一个相当简单的过程; 指南概述了,数千个项目都坐在 GitHub 上,等待您检查和分析它们的架构。 Node.js 在所有平台上都能很好地工作,即使是在 Windows 10 上,对于那些有兴趣的人来说也是如此。 这使它成为一个真正伟大的平台,可以开始一起学习前端和后端开发。 我们不要忘记,在人类已知的任何框架或语言中,Node 拥有人口最多的包管理器。 因此,由于包管理器提供了大量模块和库,因此构建网站只需几分钟。 即使是技术网站/平台,例如分析仪表板,也只需花费您几个小时的时间即可完成功能齐全的版本。
更多关于节点...
API 是 Node 众所周知的另一件事,因为它承诺接近实时的性能。 Node 依赖 API 来提供从一处到另一处的平滑数据转换。 为 Node 创建 API 的教程已经存在,关于如何为 Node 设计 API 的教程也已经存在。 多了解一点命令行以及 Node 如何使用它总是有帮助的。 当然,我们只是帮助宣传一些简洁的 Node 资源。 不久前,我们确实写过有关开发人员今年推荐的最流行的 Node 框架的文章。
让我们敞开学习之门,同时将我们的重点从学习转向探索最好的 NPM 包,以及最好的 Node.js 库来启动您的开发工作流程。 您将看到我们提到的库/包/模块的范围从复杂/简单的框架到可用于执行特定服务器端和客户端任务的库,我们还将提到几个任务管理器和类似的工具范围。 有很多选择可供选择,因此我们尝试仅包含对想要开始使用 Node.js 的开发人员重要的内容。
表达
所有常见的编程语言在构建事物的方式上都具有相似的结构。 让编程语言满足您的需求的最快方法之一是通过框架。 Express 是领先的 Node.js 框架,用于快速创建和发布应用程序和 API。 该框架的最小结构允许任何 Node.js 开发人员使用 Express Generator 快速启动功能性应用程序。 Express 为您提供了一个坚实的大纲,以在其上构建您的应用程序。 将它与我们将讨论的任何其他软件包结合起来,您将很快意识到这个框架真正的神奇之处。
多云的
如果您需要针对 Web 应用程序图像的解决方案,最好不要错过查看实用的 Cloudinary。 它是一个成熟的云服务,具有大量的功能,可以为您提供良好的服务。 从上传视觉内容到调整图像大小、裁剪功能,您可以随意命名。 当然,这一切都不需要任何技术先进的软件。 意思是,Cloudinary 对初学者和专业人士都足够友好,可以充分利用它。
借助 API,您可以毫不费力地将 Cloudinary 完美地集成到任何项目或应用程序中。 请记住,您甚至可以创建一个免费帐户并立即试用 Cloudinary,看看它的影响力和效果如何。 官方工具网站还提供有关该工具使用的所有附加信息,例如设置、配置、嵌入等。
诺迪斯特
如果您正在寻找适用于 Windows 的完整 Node.js 和 NPM 版本管理器,Nodist 是您的最佳选择。 为了您的方便,它完全支持 CMD、Powershell、Git bash 和 Cygwin。 如果您不熟悉使用 Windows 管理器,请阅读安装程序和巧克力的安装过程,以便您完美地执行它。 通读整个文档后,您还将获得有关使用、调试、测试、构建和激活 Nodist 的所有其他必要信息。 如果您想分享想法,或者即使您在此过程中遇到任何问题,也可以与作者取得联系。
制作 Deno 版
因此得名,Make Deno Edition 是一个帮助创建与 Deno 完全兼容和集成的 NPM 包和 Node.js 模块的工具。 有很多方法可以让 Make Deno Edition 为您服务,您还可以查看大量可以投入使用的示例。 如果您可以使用现成的解决方案来帮助自己,为什么要从头开始做所有事情? 尽管设置过程非常人性化,但您仍然可以获得所有必要的细节,让您轻而易举。 不用说,如果您想为该项目做出贡献,您也可以。
异步js
异步重建了 JavaScript 内容与您的网页交互的方式。 这允许您通过摆脱阻塞渲染的 JavaScript 来提高性能。 渲染阻塞基本上意味着位于页面“首屏”部分的任何 JavaScript 内容都不会被加载; 直到 JavaScript 本身在页面中完成加载。 这会对您网站的性能产生一定的影响。 但是,在 Async.js 等库的帮助下,您可以打开大门,将 JavaScript 内容与其他所有内容一起加载,有时甚至更快。 该库最初打算与 Node.js 一起使用,但现在它可以与浏览器一起使用。 也。 这样,你就可以将它注入到任何项目中,无论它是否使用 Node.js。 该库可让您控制二十多个函数。
浏览器化
使用 JavaScript 库可能被证明是一个困难的过程。 您必须经常在模板之间来回切换,以分析哪些库和小部件正在使用特定脚本。 最终,这些脚本开始累积,因为您开始忘记什么是为什么工作的。 随着 JavaScript 的发展,我们只是在构建网站的想法已经不复存在。 在许多方面,使用 JS 构建的网站更像是应用程序——依赖于独立工作的重型库的多功能项目。
Browserify 有很多用途,但最重要的一个是它允许我们创建一种有组织、结构良好且易于导航的客户端代码库。 任何人都可以使用 Browserify 创建可靠的组件,根据它们在任何特定情况下的使用情况快速分配依赖项。 Node.js 项目往往堆积在包、库和脚本上,而 Browserify 有助于将所有内容整齐地组合在一起。
咕噜声
只要您愿意,就可以避免使用 Task runner,但从第一天开始,学习一个将彻底改变您的编程体验。 使用任务运行器,您可以轻松地让自己处理特定项目的任务更少,而是自动执行缩小、编译任务、测试、代码检查等过程。 您需要自己单独完成的这些工作越少,您就可以腾出更多的时间来进行实际的编码工作。 Grunt 提供了大量插件,您可以使用它们来自动执行最平凡的任务,而无需您付出任何额外的努力。 如果您觉得没有一个插件可以满足您的需求,那么……继续创建您自己的插件,Grunt 允许您通过 NPM 发布特定于 Grunt 的插件。
PM2
Node.js 以用于扩展大型应用程序和基础设施的框架而闻名。 进程管理应该是任何 Node.js 用户的基本优先事项。 PM2 为生产应用程序提供流程管理,并提供负载平衡器以帮助进行任何可能的性能调整。 使用 PM2,您的应用程序可以无限期地保持在线状态,为您提供重新加载应用程序的工具,而无需经历任何停机时间。 成千上万的 Node.js 用户认为这是一个必不可少的工具,这是否令人惊讶?
套接字接口
Socket 可让您构建需要实时内容流的真正实时通信应用程序,无论是直接来自您正在处理的数据,还是通过来自外部源的 API。 我们看到的一些示例应用程序是用于收集最新推文的 Twitter 机器人、用于观看新闻的 Facebook 机器人以及其他实时处理数据的有趣 API 组合。 想象一下这样的通信方法可以为您的分析做什么,即使是谷歌分析这样的大公司仍在积极开发真正的实时分析,但是使用 Socket - 您恰好可以提前访问所有这些。
指挥官.js
想要制作需要命令行界面的应用程序或项目吗? 不用担心,Commander.js(基于 Ruby)是一个很好的解决方案,可以轻松创建命令行界面。
摩卡
在这个 Node.js 包综述中还有更多异步操作,这一次我们有 Mocha——一个在 Node.js 和浏览器上运行的功能丰富的 JavaScript 测试框架,使异步测试变得简单而有趣。 Mocha 测试串行运行,允许灵活和准确的报告,同时将未捕获的异常映射到正确的测试用例。 测试对于了解应用程序的性能如何、我们可以在何处定位任何特定泄漏以及了解如何改进我们遇到的这些错误、问题和烦恼非常重要。 测试可以让开发人员更好地了解他们的代码是如何执行的,并在他们继续选择的道路上学习更多的技能。
鲍尔
在(非常)旧时代,网站只包含 HTML 和 CSS,在某些情况下还包含 JavaScript。 如今,如果不使用构成现代网站的外部库、工具、框架和其他与 JS 相关的实用程序,网站几乎就无法存在。 必须跟踪所有这些实用程序可能会变成一项艰巨的任务,需要控制和检查的东西太多了……只有像 Bower 这样的包管理器存在才有意义。 Bower 为您管理组件,如果它们是 JS、CSS 或 HTML 性质的。 (字体和视觉内容也有效!)Bower 会仔细分配您正在使用的所有软件包,然后帮助您保持更新,并定期检查任何潜在风险。 一个简单的 Bower 文件可以帮助您维护财富 500 强公司规模的应用程序。
下划线
Underscore 在通过使用编程助手享受更快速开发工作流程的开发人员中很受欢迎。 有 100 多个助手可供选择,Underscore 在打开新 HTML 文档和为其编写代码之间架起了桥梁,而无需考虑复杂的功能是如何运行的。
丑化JS2
在网络上,性能就是一切。 我们可以挤出的性能越多,我们的网站和应用程序就会越快。 即使节省一点空间和加载时间,也会对您的整体业务绩效产生巨大影响。 像谷歌这样的巨头长期以来一直在谈论尽可能地减少修剪,因为即使是一毫秒的性能提升也可能意味着更多的业务。 UglifyJS2 会自动为您修剪和缩小您的 JavaScript 文件。 它也很灵活、易于使用,可帮助您获得所需的性能余量。
切里奥

想在服务器端使用 jQuery 吗? 现在您可以使用 Cheerio。 Cheerio 是专为服务器设计的核心 jQuery 的快速、灵活和精益实现。
护照
Passport 是 Node.js 开发人员的独特身份验证模块。 Passport 的主要目标是帮助处理身份验证请求,该 Passport 通过使用充当身份验证方法的第三方插件(也称为策略)来实现。 Passport API 很简单,你给 Passport 一个你需要验证的请求,Passport 反过来给你钩子,让你控制验证调用失败或成功后发生的事情。 探索这些策略,有数百种身份验证方法可供选择,从内部方法一直到 Google、Facebook 等外部方法。
节点邮件程序
发送电子邮件是您对应用程序所做的最敏感的事情之一。 电子邮件是一件大事,拥有一种安全的电子邮件交易方式对您的声誉至关重要。 这就是他们构建 Nodemailer 的原因,这是一个用于在 Node.js 应用程序中进行电子邮件管理的安全框架。 文档提供了大量关于如何让 Nodemailer 与 SMTP 一起工作的示例。
哈皮
Hapi 是一个服务器框架,可以很高兴地帮助您构建应用程序和服务。 使用 Hapi,您可以用非常简洁的方法将所有注意力集中在编写应用程序逻辑上。 Hapi 也不仅仅是另一个想要的框架,当今领先的技术公司依靠 Hapi 获得出色的性能结果。 Hapi 还可用于构建健壮的 API,处理需要扩展的高负载项目,Hapi 提供的模块化设计有助于将您的项目整合在一起。 灵活性是开发的关键,Hapi 为您提供了您可能需要的所有灵活性。
反应
React——现代 JavaScript 时代最受关注的 UI 框架。 将 React 与 Node.js 相结合,可以带来惊人的快速 Web 应用程序体验。 由 Facebook 开发,React 可让您构建快速的界面,这些界面可扩展并仅关注 UI 的重要部分。 React 对开发人员也如此有吸引力的原因在于,它可以在您已经使用的任何技术堆栈之上工作,而不会实际干扰外部技术。
业力
测试,测试和更多的测试! 我们需要测试我们的应用程序以确保它们的稳定性和性能。 我们还需要合适的工具来完成这项工作。 Karma 就是这样一种工具,可以很好地完成测试工作。 使用 Karma 的原因很长,其中一些包括:在浏览器中测试代码的能力,以及跨浏览器的能力。 您可以使用 Karma 在本地开发期间、服务器集成期间以及您所做的每个文件保存期间启动测试。 它在终端中完美运行,所以终端爱好者 - 欢欣鼓舞!
帕格
Pug 以前称为 Jade(虽然仍在使用旧网站),它是一个节点模板引擎。 什么是模板引擎? 嗯,它是一种引擎,可以帮助您消除编写复杂 HTML 和 JS 代码的需要,否则这些代码可能会被缩短为更精简、更紧凑的版本。 这就是模板引擎。 Pug 专为 Node 打造,因此您将获得许多好处和可识别的模式,所有这些都可以帮助您在工作时提高生产力和效率。
节点 MySQL
MySQL,世界上最受认可的数据库服务器。 如果没有 MySQL 和它带来的一切,世界会在哪里。 诚然,在现代开发中,许多人选择使用更简单的数据库服务器,如 MongoDB,但否认 MySQL 的流行; 这只是纯粹的无知。 Node MySQL 库是 Node.js JS 客户端 MySQL 协议的本机实现。 GitHubbers 正在以比我们眨眼的速度更快地主演这个节目,把它放在派对车上!
较少的
LESS 是公认且有信誉的 CSS 预处理器,可显着改善您的 CSS 工作流程和整体前端开发体验。 预处理器将 CSS 转换为更像是一种编程语言,而不仅仅是一种脚本环境。 选择 LESS 的原因有很多,但最重要的是:它是免费的、可靠的,而且每天都有成千上万的开发人员使用它。
MongoDB Node.JS 驱动程序
正如我们提到的,MySQL 在数据库管理人员中非常受欢迎,但 MongoDB 也是如此。 该库将为那些希望在其 Node.js 项目中实现完整版 MongoDB 的人提供必要的驱动程序。 这将为您提供在 Node 项目中充分利用 MongoDB 的必要空间。
JSHint
清除代码以查找和修复错误从来都不是一件有趣的事情。 事实上,它会对您的生产力和编码方式产生巨大影响。 这就是 linting 工具出现的原因。 Linting 工具可帮助您分析代码中的常见错误和错误,而无需您集中注意力。 相反,linter 只是分析代码本身。 它为您提供了潜在的错误和修复,可以极大地改进您正在编写的代码。
任何代码库最终都会在某个时候变得庞大,而简单的错误(在编写时不会显示出来)可能会成为阻碍并浪费数小时的调试时间。 这就是静态代码分析工具发挥作用并帮助开发人员发现此类问题的时候。 JSHint 扫描用 JavaScript 编写的程序并报告常见错误和潜在错误。 潜在的问题可能是语法错误、隐式类型转换导致的错误、变量泄漏或其他原因。
摩根
Morgan 每月有数百万次下载,是 Node 开发人员的首要库之一。 Morgan 是一个 HTTP 请求记录器,它存储 HTTP 请求并让您简要了解您的应用程序的使用方式,以及可能存在潜在错误或您尚未探索的其他问题。 轻松成为 Node.js 社区已知的最可靠的 HTTP 记录器。
网络包
WebPack 允许您在项目中使用数十个模块,而不必担心它们的位置和整体性能。 顾名思义,它将您的所有模块打包在单独的 JS、CSS 和 HTML 文件中,并为您提供一个简单的浏览器工作区。 借助 WebPack,您可以随意拆分、捆绑和分配代码。
角
快速构建应用程序的最佳框架是什么? 许多人会争论,但对许多人来说,Angular 将处于决策的首位。 Angular.js 允许其用户构建类似于现代浏览器的快速客户端 Web 应用程序。 Angular 有一定的氛围,它使构建丰富而现代的 Web 应用程序的过程变得如此简单,但又如此灵活,它让您想知道……如果没有这个框架,您一直在做什么。
恢复
API 仍然是任何 Node.js 应用程序中最重要的部分之一,它使实时变得真实。 如果您正在寻找构建 RESTful API,那么 Restify 库将为您提供执行任务所需的怪癖和工具。 不止一种方式; Restify 是您在为 Web 构建 REST 服务时要使用的库。 简直就是太好了。
标记
Markdown 是缩小版的、更优雅的 HTML 版本。 Markdown 允许您使用特定的 Markdown 语法和标签将文本转换为 HTML。 HTML 的重点是让一切都对网络有吸引力,而另一方面,Markdown 则希望将重点放在文本上,特别是文本的呈现方式,以及如何最好地帮助在线编辑器输出漂亮的文本,减少麻烦和学习HTML。 Marked Node.js 库将在您正在处理的任何项目、应用程序或网站中实施 Markdown。
图形魔法
GraphicsMagick 和 ImageMagick 是两个广受好评的工具,用于处理网络上的视觉内容。 现在,您有机会在 Node.js 项目中同时使用 GraphicsMagick 和 ImageMagick 来优化视觉内容。 易于浏览的文档提供了所有见解、提示和技巧,可帮助您立即开始使用 GraphicsMagick 库。
JSdom
JSDOM 有助于在 Node.js 架构中实现 WHATWG DOM 和 HTML 标准。 就那么简单。
Node.js 项目的最佳包和库
对一个人最好的,对另一个人来说是最坏的。 或者俗话说……我们的目的不是试图取悦特定的 Node.js 开发人员,相反,我们选择走很长的路,真正探索广受欢迎的包,但对开发人员也非常有用。任何类型的项目。
我们探索的许多库都可以直接一起使用,以确保您的下一个项目有一个不错的起始基础。 安全性、灵活性、工作流、生产力、可扩展性,我们觉得这些是最能代表我们在这里探索的包的关键词,如果你碰巧只是一个 Node.js 开发者——我们欢迎你在下面发表评论,分享您对 Node 的见解,以及您在日常 Node 开发环境中觉得离不开的最喜欢的 Node 包。 谢谢,我们决定发布的下一个 Node 资源见。