分享 73 个让你事半功倍的 NPM 包前端达人共 9117字,需浏览 19分钟 ·2022-02-17 17:20 英文 | https://dev.to/madza/73-awesome-npm-packages-for-productivity-19p8翻译 | 杨小爱在我们繁忙的日程和紧迫的项目期限内,选择能够提高工作效率的工具,就显得至关重要。在这里,我整理了一些我最喜欢的 NPM 包的列表。我还对它们进行了分类,因此信息更加结构化并且更易于浏览。当然,我们不必全部安装和学习它们。在大多数情况下,从每个类别中挑选一个两个就足够了。我想提供一些替代方案,以便我们能找到一些更好的工具。现在,我们就开始今天的内容吧。前端框架1、React 地址:https://www.npmjs.com/package/reactReact 使用虚拟 DOM 将页面的各个部分作为单独的组件进行管理,允许我们在不刷新整个页面的情况下刷新组件。通常与 React-dom 和 React-router-dom 一起使用。2、Vue地址:https://www.npmjs.com/package/vueVue 专注于使编写 Web 应用程序更快、更容易、更愉快的特性。它有很棒的文档。通常与 Vue-router 和 Vuex 一起使用。3、Svelte 地址:https://www.npmjs.com/package/svelteSvelte 是一种构建 Web 应用程序的新方法。它是一个编译器,它获取你的声明性组件并将它们转换为高效的 JavaScript,从而通过手术方式更新 DOM。其他值得注意的框架包括 Angular、Ember、Backbone、Preact 等。你可以用它们中的任何一个来创造奇迹,黄金法则是提前学习现代 JS(ES6 及更高版本)。样式框架4、Bootstrap地址:https://www.npmjs.com/package/bootstrap世界上最流行的UI框架,用于构建响应式、移动优先的网站。直观且功能强大,但体积相对较大。许多现代 UI 工具包都基于它,例如 React Bootstrap 或 Reactstrap。5、Tailwind地址:https://www.npmjs.com/package/tailwindcss用于快速 UI 开发的低级、实用程序优先的 CSS 框架。从头开始构建,可定制。6、Styled-components地址:https://www.npmjs.com/package/styled-componentsCSS-in-JS 工具,弥合了组件和样式之间的差距,提供了许多功能,让我们以功能性和可重用的方式启动和运行样式化组件。其他出色的解决方案包括 Foundation、Bulma、Materialize 和 Ant Design。如果喜欢写 Vanilla CSS,我们可以使用一些 CSS 扩展语言,比如 SASS,来扩展它的特性。后端框架7、Express地址:https://www.npmjs.com/package/express用于 Node.js 的快速、独立、简约的 Web 框架。它相对较小,具有许多可用作插件的功能。通常被称为 Node.js 的标准服务器框架。8、Hapi地址:https://www.npmjs.com/package/@hapi/hapiHapi 最初用于 Express 框架。使用 Hapi,我们可以构建功能强大、可扩展的应用程序,而且开销最小,而且功能齐全,开箱即用。9、Sails 地址:https://www.npmjs.com/package/sailsSails 是 Node.js 最流行的 MVC 框架,支持现代应用程序的要求:具有可扩展、面向服务架构的数据驱动 API。与前端框架一样,也有很多后端替代方案,例如 Adonis 和 Koa。选择一个满足您需求的工具,然后学习它。CORS 和请求10、Cors地址:https://www.npmjs.com/package/cors一个Node.js 中间件,用于提供 Connect/Express 中间件,可用于启用具有各种选项的跨域资源共享。11、Axios地址:https://www.npmjs.com/package/axios用于浏览器和 Node.js 的基于 Promise 的 HTTP 客户端。与 JS 内置的 Fetch API 相比,它易于设置、直观且简化了很多东西。12、Body-parser地址:https://www.npmjs.com/package/body-parser正文解析中间件,它提取传入请求流的整个正文部分并将其公开在 req.body 上,作为更易于交互的东西。API 服务13、Restify地址:https://www.npmjs.com/package/restify一个 Node.js Web 服务框架,经过优化,可构建语义正确的 RESTful Web 服务,以供大规模生产使用。Restify 针对自省和性能进行了优化。14、GraphQL地址:https://www.npmjs.com/package/graphqlAPI 的查询语言和使用现有数据完成这些查询的运行时。提供 API 中数据的完整描述,让客户能够准确地询问他们需要什么。Web sockets15、Socket.io地址:https://www.npmjs.com/package/socket.ioSocket.IO 支持实时、双向和基于事件的通信。它适用于所有平台、浏览器或设备,同样注重可靠性和速度。16、WS地址:https://www.npmjs.com/package/ws简单易用、快速且经过全面测试的 WebSocket 客户端和服务器实现。 记录器17、Morgan地址:https://www.npmjs.com/package/morgan具体来说,它是一个 HTTP 请求记录器,用于存储 HTTP 请求并让我们简要了解应用程序的使用方式以及可能存在的错误。18、Winston地址:https://www.npmjs.com/package/winston几乎所有内容的记录器,支持多种运输方式。比 Morgan 存在的时间更长,它还拥有更大的维护者社区和更多的下载量。数据库工具19、Mongoose 地址:https://www.npmjs.com/package/mongooseMongoose 是一个 MongoDB 对象建模工具,旨在在异步环境中工作。Mongoose 支持 Promise 和回调。20、Sequelize 地址:https://www.npmjs.com/package/sequelizeSequelize 是一个基于 Promise 的 Node.js ORM,适用于 Postgres、MySQL、MariaDB、SQLite 和 Microsoft SQL Server。它具有可靠的事务支持、关系、急切和延迟加载、读取复制等。认证工具21、Passport地址:https://www.npmjs.com/package/passportPassport 的目的是通过称为策略的可扩展插件集对请求进行身份验证。我们向 Passport 提供身份验证请求,而 Passport 提供挂钩来控制身份验证成功或失败时发生的情况。22、Bcrypt地址:https://www.npmjs.com/package/bcrypt帮助我们散列密码的库。Bcrypt 是 Niels Provos 和 David Mazières 设计的密码散列函数,基于 Blowfish 密码并于 1999 年在 USENIX 上提出。23、JSONWebToken地址:https://www.npmjs.com/package/jsonwebtokenJSON Web 令牌 (JWT) 是一种开放的行业标准 RFC 7519 方法,用于在两方之间安全地表示声明。这个包允许我们解码、验证和生成 JWT。 配置模块24、Config地址:https://www.npmjs.com/package/config设置存储在应用程序的配置文件中,可以被环境变量、命令行参数或外部源覆盖和扩展。25、Dotenv地址:https://www.npmjs.com/package/dotenv它一个零依赖模块,将环境变量从 .env 文件加载到 process.env 中。静态网站生成器26、Gatsby地址:https://www.npmjs.com/package/gatsby现代网站生成器,可创建快速、高质量、动态的 React 应用程序,从博客到电子商务网站再到用户仪表板。很棒的插件生态系统和模板。27、NextJS地址:https://www.npmjs.com/package/nextNextJS 首先支持服务器渲染以及静态生成的内容。我们还可以将无服务器函数定义为 API 端点。28、NuxtJS地址:https://www.npmjs.com/package/nextNuxtJS 基本上是 Vue 生态系统中的 NextJS 替代品。NuxtJS 的目标是让 Web 开发功能强大且性能卓越。模板语言29、Mustache地址:https://www.npmjs.com/package/mustacheMustache 是一种无逻辑的模板语法。它可以用于 HTML、配置文件、源代码——任何东西。它通过使用散列或对象中提供的值扩展模板中的标签来工作。30、Handlebars地址:https://www.npmjs.com/package/handlebars使用模板和输入对象来生成 HTML 或其他文本格式。Handlebars 模板看起来像带有嵌入式 Handlebars 表达式的常规文本。Handlebars 在很大程度上与 Mustache 模板兼容。31、EJS地址:https://www.npmjs.com/package/ejsEJS 是一种简单的模板语言,可让我们使用纯 JavaScript 生成 HTML 标记,语法简单、执行速度快、调试方便。EJS 拥有庞大的活跃用户社区,并且该库正在积极开发中。图像处理32、Sharp地址:https://www.npmjs.com/package/sharp一个很棒的模块,可以将常见格式的大图像转换为更小的、对网络友好的 JPEG、PNG 和不同尺寸的 WebP 图像。33、GM地址:https://www.npmjs.com/package/gm借助 Node.js 模块 GM,我们可以直接在代码中使用两种流行的工具来创建、编辑、合成和转换图像 - GraphicsMagick 和 ImageMagick。34、Cloudinary地址:https://www.npmjs.com/package/cloudinary专用模块可简化云服务的工作,为 Web 应用程序的整个图像管理管道提供解决方案。日期格式35、DayJS地址:https://www.npmjs.com/package/dayjsDayJS 是 MomentJS 的快速轻量级替代品(自 2020 年 9 月起处于维护模式)。使用类似的 API - 如果您使用过 MomentJS,那肯定已经知道如何使用大部分 DayJS。36、Luxon地址:https://www.npmjs.com/package/luxon如果您喜欢另一种轻量级的替代方案,API 略有不同,那么 Luxon 可能是我们的正确选择。数据生成器37、Shortid地址:https://www.npmjs.com/package/shortid它可以创建一个非常短的非顺序的url 唯一id。它非常适合 url 缩短器、DB id 和任何其他 id。38、Uuid地址:https://www.npmjs.com/package/uuid这个一个非常方便的微型包,可快速轻松地生成更复杂的通用唯一标识符 (UUID)。39、Faker地址:https://www.npmjs.com/package/faker用于在浏览器和 Node.js 中生成大量虚假数据的有用包。验证者40、Validator地址:https://www.npmjs.com/package/validator这是一个非常方便的字符串验证器库。它有许多有用的方法,可以便于我们快速使用,例如 isEmail()、isCreditCard()、isDate() 和 isURL()。41、Joi地址:https://www.npmjs.com/package/joi它是一个强大的 JavaScript 模式,描述语言和数据验证器。表格和电子邮件42、Formik地址:https://www.npmjs.com/package/formikFormik 是一个流行的 React 和 React Native 开源表单库。它易于使用、声明性和自适应性。43、Multer 地址:https://www.npmjs.com/package/multerMulter 是一个用于处理 multipart/form-data 的 Node.js 中间件,主要用于上传文件。44、Nodemailer地址:https://www.npmjs.com/package/nodemailerNodemailer 是 Node.js 应用程序的一个模块,可以轻松发送电子邮件。该项目早在 2010 年就开始了,今天它是大多数 Node.js 用户默认使用的解决方案。测试45、Jest地址:https://www.npmjs.com/package/jestJest 是一个令人愉快的 JavaScript 测试框架,专注于简单性。它允许我们使用平易近人、熟悉且功能丰富的 API 编写测试,从而快速为我们提供结果。46、Mocha地址:https://www.npmjs.com/package/mochaMocha 是一个 JavaScript 测试框架,让异步测试变得简单有趣。Mocha 测试连续运行,允许灵活准确的报告,同时,将未捕获的异常映射到正确的测试用例。网页抓取和自动化47、Cheerio地址:https://www.npmjs.com/package/cheerioCheerio 广泛用于网络抓取工作,有时还用于自动化任务。它基于 jquery 非常快速和快速。Cheerio 封装了 Parse5 解析器,能够解析任何类型的 HTML 和 XML 文档。48、Puppeteer地址:https://www.npmjs.com/package/puppeteerPuppeteer 广泛用于自动执行浏览器任务,并且只能与 google chrome 浏览器(即 chromium)一起使用。Puppeteer 也可用于网页抓取任务。与 Cheerio 模块相比,它功能强大且功能丰富。Linters 和格式化程序49、ESLint地址:https://www.npmjs.com/package/eslintESLint 是一种用于识别和报告在 ECMAScript/JavaScript 代码中发现的模式的工具。ESLint 是完全可插拔的,每一条规则都是一个插件,我们可以在运行时添加更多。50、Prettier地址:https://www.npmjs.com/package/prettierPrettier 是一个固执己见的代码格式化程序。它通过解析您的代码并使用自己的规则重新打印它来执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码。模块打包器和最小化器51、Webpack地址:https://www.npmjs.com/package/webpack著名且功能强大的模块捆绑器。它的主要目的是捆绑 JavaScript 文件以在浏览器中使用,但它也能够转换、捆绑或打包几乎任何资源或资产。52、HTML-Minifier地址:https://www.npmjs.com/package/html-minifier轻量级、高度可配置且经过良好测试的基于 Javascript 的 HTML 压缩器/压缩器(支持 Node.js)。53、Clean-CSS地址:https://www.npmjs.com/package/clean-css适用于 Node.js 平台和任何现代浏览器的快速高效的 CSS 优化器。高度可配置和许多兼容模式。54、UglifyJS2地址:https://www.npmjs.com/package/uglify-jsJavaScript 解析器、压缩器、压缩器和美化工具包。它可以接受多个输入文件并支持许多配置选项。流程管理器和运行器55、Nodemon地址:https://www.npmjs.com/package/nodemon用于开发 Node.js 应用程序的简单监控脚本。对开发很有用,因为它非常容易重新启动,并且默认启用和烘焙文件监视。56、PM2地址:https://www.npmjs.com/package/pm2带有内置负载均衡器的 Node.JS 应用程序的生产流程管理器。更全面,更适合生产。为我们提供许多参数来调整/采取行动。57、Concurrently地址:https://www.npmjs.com/package/concurrently简单直接 - 用于同时运行多个命令的有用工具。CLI 和调试器58、Commander地址:https://www.npmjs.com/package/commander提供流畅的 API 用于定义 CLI 应用程序的各个方面,例如命令、选项、别名和帮助。简化命令行应用程序的创建。59、Inquirer地址:https://www.npmjs.com/package/inquirer用于 Node.js 的易于嵌入且美观的命令行界面。提供很棒的查询会话流程。60、Chalk地址:https://www.npmjs.com/package/chalkChalk 是一个非常简单的库,创建一个简单的目的 - 为我们的终端字符串设置样式。61、Debug地址:https://www.npmjs.com/package/debug一个小型的 JavaScript 调试工具。只需将模块名称传递给函数,它就会返回console.error 的修饰版本,供我们传递调试语句。实用程序62、Lodash地址:https://www.npmjs.com/package/lodash提供模块化、性能和附加功能的现代 JavaScript 实用程序库。在 JavaScript 数组、对象和其他数据结构上公开了许多有用的方法。63、Underscore地址:https://www.npmjs.com/package/underscoreUnderscore 提供了许多常用的函数助手以及更专业的好东西:函数绑定、javascript 模板、创建快速索引、深度相等测试等。64、Async地址:https://www.npmjs.com/package/asyncAsync 是一个实用模块,它为使用异步 JavaScript 提供了直接、强大的功能。系统模块65、Fs-extra地址:https://www.npmjs.com/package/fs-extraFs-extra 包含原版 Node.js fs 包中未包含的方法,例如 copy()、remove()、mkdirs()。66、Node-dir地址:https://www.npmjs.com/package/node-dir用于一些常见目录和文件操作的模块,包括用于获取文件数组、子目录以及读取和处理文件内容的方法。67、Node-cache地址:https://www.npmjs.com/package/node-cache一个简单的缓存模块,具有设置、获取和删除方法,工作方式有点像 memcached。密钥可以有一个超时 (ttl),之后它们就会过期并从缓存中删除。其他68、Helmet地址:https://www.npmjs.com/package/helmet通过设置各种 HTTP 标头来帮助我们保护我们的应用程序。它是 Connect 风格的中间件,与 Express 等框架兼容。69、PDFKit地址:https://www.npmjs.com/package/pdfkitDFKit 是一个用于 Node 和浏览器的 PDF 文档生成库,可以轻松创建复杂的、多页的、可打印的文档。70、CSV地址:https://www.npmjs.com/package/csv全面的 CSV 套件结合了 4 个经过良好测试的包来生成、解析、转换和字符串化 CSV 数据。71、Marked地址:https://www.npmjs.com/package/marked用于解析 Markdown 的低级编译器,无需长时间缓存或阻塞。72、Randomcolor地址:https://www.npmjs.com/package/randomcolor用于生成有吸引力的随机颜色的小脚本。我们可以传递一个选项对象来影响它产生的颜色类型。73、Pluralize地址:https://www.npmjs.com/package/pluralize该模块使用预先定义的规则列表,按顺序应用,以单数或复数给定的单词。在很多情况下这很有用,例如,任何基于用户输入的自动化。本文完~学习更多技能请点击下方公众号 浏览 82点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 73 个非常棒的 NPM 包以提高工作效率web前端开发0【干货分享】推荐5个可以让你事半功倍的Python自动化脚本小詹学Python0yuri2webNode.js 的 npm 包简介yuri2web是一个Node.js的npm包,提供了一个很简单的针对web服务器的守护进程解决方案。我为什么要用它?Node.js使用单核单进程,这样就会有CPU利用不足的问题,毕竟我们的服务器发布npm包,你也可以的程序源代码0yuri2webNode.js 的 npm 包简介yuri2web是一个Node.js的npm包,提供了一个很简单的针对web服务器的守护进程解决实例创建自己的npm包,发布npm包并使用SegmentFault0你会用IDEA吗?搞定这些配置,让你事半功倍!Java大联盟0如何发布 npm 包全栈前端精选013 个 你应该知道的 npm 快速开发技巧前端宇宙013 个 你不得不知道的 npm 快速开发技巧前端桃园0点赞 评论 收藏 分享 手机扫一扫分享分享 举报