你需要知道的20个Node.js模块

近年来,Node.js越来越受欢迎。它现在经常用于开发Web应用程序的服务器端,或者通常用于开发过程中。在撰写本文时,主页是NPM- Node.js的软件包管理器 - 列出了超过25万个模块。

我已经整理了一份我在日常工作中作为网络和软件开发人员有用的列表,从图像处理,字符串验证和PDF生成到缩小,记录和创建命令行应用程序。

使用图像

01. 操纵图像

GraphicsMagick和ImageMagick是两种用于创建,编辑,合成和转换图像的流行工具。感谢Node.js模块gm,您可以直接在JavaScript代码中使用这两个工具。该模块支持所有典型的图像操作 - 调整大小,剪裁和编码仅举几例。

const gm = require('gm'); gm('/ path / to / image.jpg')。resize(500,250).autoOrient()。write(response,error => {});

02. 处理图像

Sharp基于超快的libvips图像处理库,并且声称在压缩和调整图像大小时比ImageMagick或GraphicsMagick快四到五倍。它支持JPEG,PNG,WebP,TIFF,GIF和SVG图像,并将数据输出为JPEG,PNG,WebP或未压缩的原始像素流。

03. 生成精灵表

精灵表是包含许多不同小图像(例如图标)的位图文件,它们通常用于减少下载图像的开销并加快整体页面加载。手动生成精灵表是非常麻烦的,但是使用spritesmith可以自动执行该过程。该模块将文件夹作为输入,并将其中的所有图像合并为一个精灵表。它还会生成一个JSON文件,其中包含生成的图像中每个图像的所有坐标,您可以直接在CSS代码中复制这些坐标。

日期,字符串,颜色

04. 格式化日期

Moment.js is a great alternative to JavaScript's Date object

Moment.js是JavaScript的Date对象的绝佳替代品

标准JavaScript API已附带Date对象,用于处理日期和时间。但是,在打印和格式化日期时,此对象不是非常用户友好。另一方面,Moment.js提供了一个干净且流畅的API,并且生成的代码非常易读且易于理解。

moment()。add(7,'days').subtract(1,'months')。year(2009).hours(0).minutes(0).seconds(0);

此外,还有一个附加组件可用于在不同时区解析和格式化日期。

05. 验证字符串

在网页上提供表单时,您始终应该验证用户输入的值 - 不仅在客户端,还在服务器端,以防止恶意数据。可以帮助你的模块是validator.js。它提供了几种验证字符串的方法ISEMAIL()ISURL()IsMobilePhone() 要么IsCreditCard(),此外,您可以在服务器和客户端使用它。

06. 使用颜色值

将颜色值从一种格式转换为另一种格式是每个前端开发人员偶尔需要执行的任务之一。 TinyColor2以编程方式处理此问题,它可用于Node.js以及浏览器。它提供了一组转换方法(例如ToHexString()ToRGBString()),以及各种颜色操作的方法(例如,减轻()饱和()补充())。

使用不同的格式

07. 生成PDF文件

您想动态生成PDF文件吗?然后PDFKit是您正在寻找的模块。它支持嵌入字体类型,嵌入图像和矢量图形的定义,可以通过编程方式(使用类似Canvas的API)或指定SVG路径。此外,您还可以定义链接,包括注释,突出显示文本等。最好的方法是使用交互式浏览器演示这里

08. 处理HTML文件

Cheerio makes processing HTML on the server side much easier

Cheerio使得在服务器端处理HTML变得更加容易

曾经想在服务器端处理HTML代码而错过了jQuery实用程序方法吗?那么Cheerio就是答案。虽然它只实现了核心jQuery库的一个子集,但它使得在服务器端处理HTML变得更加容易。它建立在Htmlparser2模块,HTML,XML和RSS解析器。另外,根据基准测试,它的速度要快8倍Jsdom,另一个在服务器端使用DOM的模块。

09. 处理CSV文件

Node-cvg simplifies the process of working with CSV data

Node-cvg简化了使用CSV数据的过程

在交换基于表的数据时经常使用CSV(逗号分隔值)格式。例如,Microsoft Excel允许您以该格式导出或导入数据。 node-cvg简化了在JavaScript中处理CSV数据的过程,并提供了生成,解析,转换和字符串化CSV的功能。它附带了一个回调API,一个流API和一个同步API,因此您可以选择自己喜欢的样式。

10. 处理降价文件

在为网络创建内容时,Markdown是一种流行的格式。如果您曾想以编程方式处理降价内容(即编写自己的降价编辑器),则标记值得一看。它需要一串markdown代码作为输入并输出相应的HTML代码。甚至可以通过提供自定义渲染器来进一步自定义HTML输出。

下一页:探索最好的minifiers和实用程序模块



翻译字数超限