nodejs开发资源合集2021

工具

  • openbase – 让你每次都要找到合适的包。目前支持JavaScript,即将推出更多语言。
  • npm.devtool – 找到最适合您的包,分析您的项目技术栈。
  • 教程

  • Node.js Best Practices – Node.js最佳体验列表。
  • GIT仓库

    文本

    通用

  • dedent – ES6模板字符串函数,用于去除多行字符串的缩进。
  • camelcase – 将破折 /点 /下划线/空格分隔的字符串转换为驼峰式, 案例:foo-bar→fooBar。
  • string-width – 获取字符串的可视宽度-显示字符串所需的列数。
  • decamelize – 将驼峰式字符串转化成小写带分隔符带字符串, 案例:unicornRainbow → unicorn_rainbow
  • detect-indent – 检查代码缩进。
  • string-length – 获取字符串的真实长度 – 通过正确计算星 并忽略ansi转义码。
  • strip-indent – 将字符串每一行中前置的空格删除。
  • strip-bom – 从字符串中删除UTF-8字节顺序标记(BOM)。
  • indent-string – 将字符串每一行缩进。
  • redent – 去除多余的缩进并缩进字符串。
  • normalize-newline – Normalize the newline characters in a string to n.
  • min-indent – 取每一行最少前置空格数。
  • trim-right – 与 String#trim() 类似,但仅删除右侧的空格。
  • splice-string – 移除或替换字符串的一部分。类似Array#splice.
  • 国际化

  • i18next – 国际化框架。
  • i18n-node – 具有动态JSON存储的简单翻译模块。
  • babelfish – 适用于JavaScript的人性化i18n(node.js +浏览器)。
  • 唯一ID

  • nanoid – 小巧、安全、URL友好、唯一的字符串ID生成器。
  • uuid – 在JavaScript中生成符合RFC规范的UUID。
  • shortid – 短ID生成器。 址友好。 不可预测的。 集群兼容。
  • ulid – 通用唯一词典分类排序标识符。
  • uuid-js – 用于生成和解析 UUID、TimeUUID 并根据日期生成 TimeUUID 以供范围选择。
  • pure-uuid – 基于纯JavaScript全局唯一ID(UUID)。
  • 编码/解码

  • he – HTML实体编码器/解码器。
  • iconv-lite – 转换字符编码。
  • jschardet – JavaScript编码自动识别 (Python版chardet的实现)。
  • 差异对比

  • jsdiff – 一种JavaScript文本差异实现。
  • recursive-diff – 查找两个JavaScript对象的差异,支持数组、数字、日期和其他原始数据类型。
  • 其他

  • StegCloak – 基于纯JavaScript开发的隐写功能模块,StegCloak可以对文本中的机密信息进行压缩和加密,然后再使用特殊的Unicode不可见字符来隐藏它。
  • unhomoglyph – 规范视觉上相似的unicode字符。
  • 数字

  • Numeral.js – 格式化和操作数字。
  • bignumber.js – 用于任意精度十进制和非十进制算术的 JavaScript 库。
  • decimal.js – JavaScript的任意精度的十进制类型。
  • big.js – 一个小型,快速的JavaScript库,用于任意精度的十进制算术运算。
  • random-js – 一个 JavaScript 随机数生成库。
  • round-to – 将数字四舍五入到指定的小数位数:1.2341.2
  • unique-random – 生成连续唯一的随机数。
  • random-int – 生成随机整数。
  • random-float – 生成随机浮点数。
  • 数学运算

  • mathjs – 广泛的数学运算库。
  • ndarray – 多维数组。
  • algebra – 代数结构。
  • multimath – 在WebAssembly和JS中进行快速图像数学运算。
  • 日期 和 时间

  • moment – 解析、校验、操作和显示日期。
  • dayjs – 仅2KB,不可变的日期时间库。使用与Moment.js同样的API,Moment.js的替代库。
  • date-fns – 现代JavaScript日期工具库。
  • luxon – 用于处理日期和时间的库。
  • timeago.js – timeago.js是一个很小的(2.0 kb)库,用于使用 *** time ago 语句格式化日期。
  • ms – 毫秒转换工具。
  • dateformat – 日期格式化。
  • pretty-ms – 将毫秒转换为人类可读的字符串,如: 133700000015d 11h 23m 20s
  • strftime – JavaScript版时间格式化Strftime。
  • node-microtime – 以微秒为单位获取当前时间。
  • date-utils – 用于Node.js和浏览器的日期垫片(Polyfills)。
  • pretty-hrtime – 将process.hrtime()的结果转换为人可读性的字符串。
  • humanize-ms – 将人类可读的时间转换为毫秒。
  • 正则/通配符匹配

  • path-to-regexp – 将路径字符串(如/user/:name)转化为正则。
  • minimatch – 最小匹配工具。
  • micromatch – 高度优化的通配符和全局匹配库。更快,直接替换到 minimatch 和 multimatch。由webpack、babel core、yarn、jest、browser-sync、documentation.js、stylelint、nyc、ava以及许多其他资源使用!
  • randexp.js – 根据给定的正则表达式,生成随机字符串。
  • safe-regex – 检测可能是灾难性的、指数时间的正则表达式。
  • matcher – 简单通配符匹配。
  • escape-string-regexp – 转义特殊正则字符。
  • multimatch – 扩展 minimatch.match() 以支持多种模式。
  • execall – 在字符串中查找多个RegExp匹配项。
  • URL

  • URI.js – URL转换库。
  • qs – 请求字符串解析器。
  • query-string – 解析和字符串化URL查询字符串。
  • url-parse – 轻量URL解析器,可跨Node.js和浏览器环境无缝运行。
  • normalize-url – 规范化URL.
  • url-pattern – 比正则表达式更易匹配URL和其他字符串,将字符串转化成数据 或 将数据转换成字符串。
  • native-url – 使用内建URL API实现的NodeJS URL模块。
  • url-join – 将所有参数连接在一起,并将结果url规范化。
  • humanize-url – 使URL更可读: http://sindresorhus.com → sindresorhus.com。
  • parseurl – 使用记忆化方式解析URL.
  • file-url – 将文件路径转化为文件URL: unicorn.jpgfile:///Users/sindresorhus/unicorn.jpg
  • encodeurl – 将URL编码为”百分比”形式,不编码已编码部分。
  • JSON

  • json5 – JSON5是对JSON的扩展,其目的是能够更加容易的阅读和编写。
  • jsondiffpatch – 对比JSON对象,并生成差异和Patch信息。
  • json-schema-faker – JSON-Schema + 假数据生成器。
  • fast-json-stringify – 比JSON.stringify()快2倍。
  • jsonfile – 轻松读写JSON文件。
  • jsonata – JSONata 查询和转换语言 – http://jsonata.org
  • json-stable-stringify – 具有自定义排序功能的确定性JSON.stringify(), 可以从字符串化结果中获取确定性哈希值。
  • strip-json-comments – 去除JSON文件中的注释。让你可以在JSON中使用注释。
  • json-stringify-safe – 类似于JSON.stringify,但不会引发循环引用。
  • load-json-file – 读取并解析JSON文件。
  • write-json-file – 序列化并写入JSON文件。
  • fast-json-stable-stringify – 确定性JSON.stringify() – 比 @substack 的 json-stable-stringify 更快的版本,不带jsonify。
  • jsonuri – 使用”URI样式“的方法来操作数据。
  • 图像处理

  • sharp – 调整JPEG,PNG,WebP和TIFF格式图像大小的最快模块。
  • jimp – 纯JavaScript中的图像处理。
  • gm – GraphicsMagick 和 ImageMagick 封装。
  • qrcode – 二维码和条形码生成器。
  • pixelmatch – 最小、最简单、最快的 JavaScript 像素级图像比较库。
  • Resemble.js – 图像分析和比较。
  • pica – 使用纯JS中的高质量和快速调整大小(lanczos3)。 当不允许像素化时替代canvas drawImage()。
  • jsQR – 一个纯javascript的二维码读取库。 该库接收原始图像,并将定位、提取和解析其中发现的任何二维码。
  • lwip – 不需要ImageMagick的轻量级图像处理器。
  • gifski – 基于 libimagequant (pngquant) 的 GIF 编码器。 从糟糕的 GIF 格式中挤出最大可能的质量。
  • probe-image-size – 无需完全下载即可获取大多数图像格式的大小.
  • omggif – GIF 89a编码解码器。
  • jpeg-js – 使用纯JavaScript的JPEG编码和解码器。
  • pngjs – 简单的PNG编码解码器。
  • get-pixels – 将图像读入ndarray。
  • gifencoder – Node.js 服务器端动画 gif 生成。
  • image-type – 检测Buffer / Uint8Array的图像类型。
  • node-pngquant – pngquant 作为可读/可写流操作png。
  • node-bitmap – 纯JavaScript Bitmap库。
  • 视频处理

  • fluent-ffmpeg – FFMPEG的流畅API (http://www.ffmpeg.org)
  • FFCreator – 一个基于node.js的高速短视频加工库。
  • node-ffmpeg – Nodejs版Ffmpeg模块。
  • 字体

  • font-spider – 字蛛是一个智能 WebFont 压缩工具,它能自动分析出页面使用的 WebFont 并进行按需压缩。
  • 颜色

  • chroma – JavaScript库,用于各种颜色处理。
  • randomColor – 一个小型脚本,用于优雅的生成颜色。
  • rgbaster – 一个简单的库,用于从图像中提取主色。
  • TinyColor – 快速、小型的颜色操作和转换库。
  • onecolor – 面向对象的JavaScript颜色解析器/计算工具包,支持RGB,HSV,HSL,CMYK和alpha通道。 颜色空间之间的转换是隐式进行的,并且所有方法都返回新对象,而不是对现有实例进行突变。 可在浏览器和Node.js中使用。
  • 加解密

  • crypto-js – JavaScript加密标准库。
  • bcrypt – Node.js版Bcrypt。
  • jsencrypt – 用于执行OpenSSL RSA加密、解密和密钥生成的Javascript库。
  • bcrypt.js – 经过优化bcrypt库,使用纯JavaScript且零依赖。
  • jsrsasign – “jsrsasign”(RSA Sign JavaScript库)是一个开源的免费加密库,支持纯JavaScript中的RSA/RSAPSS/ECDSA/DSA签名/验证、ASN.1、PKCS#1/5/8私钥/公钥、X.509证书、CRL、OCSP、CMS SignedData、TimeStamp、CAdES JSON Web签名/令牌。
  • node-rsa – Node.js RSA库。
  • aes-js – AES的纯JavaScript实现。
  • node-md5 – 一个JavaScript函数,用于使用MD5对消息进行哈希处理。
  • crypto-hash – 微型哈希模块,在Node.js和浏览器中使用原生crypto API。
  • hash.js – 使用纯JavaScript的哈希实现。
  • sm-crypto – sm2, sm3, sm4的JavaScript实现。
  • sha.js – 使用纯JavaScript中的流式SHA哈希。
  • cryptr – 非常基础的加密和解密Node.js模块。
  • pbkdf2 – 在Node中具有任何受支持的哈希算法PBKDF2。
  • bcrypt-pbkdf – POpenBSD bcrypt_pbkdf Javascript实现。
  • event-stream – EventStream就像函数式编程遇到IO。
  • through2 – 基于Node stream2 的封装进行转换以避免显式的子类化噪声。
  • JSONStream – 流JSON.parse和stringify。
  • mississippi – 有用的流实用程序模块的集合,用于更好编写的使用流的代码。
  • readable-stream – 可读流。
  • pump – 将流连接在一起,如果其中一个关闭,则关闭所有流。
  • concat-stream – 可写流,它将字符串或数据连接起来并执行回调。
  • stream-json – stream-json是用于创建自定义标准兼容JSON处理器的node.js流组件的集合,该组件所需的内存占用最少。它可以解析远远超出可用内存的JSON文件。甚至单个原始数据项(键,字符串和数字)也可以分段流式传输。还包括流式SAX启发式的基于事件的API。
  • split – 分解流并重新组装它,以便每一行都是一块。匹配器可以是字符串,也可以是正则表达式。
  • tar-stream – tar-stream是一个流式tar解析器和生成器。
  • node-byline – 逐行流阅读器。
  • ndjson – 流逐行分隔的json解析器 + 序列化器。
  • oppressor – 流HTTP压缩响应协商程序。
  • multistream – 一种流,一个接一个地发出多个其他流(streams2)。
  • get-stream – 以字符串,缓冲区或数组的形式获取流。
  • node-stream-buffer – 使用缓存的可读和可写流。
  • split2 – 拆分stream3样式。
  • fstream – 高级的Node.js文件操作流。
  • pumpify – 使用泵和全双工,将一系列流合并为单个双工流。
  • progress-stream – 读取流的进度。
  • merge-stream – 将多个流合并为一个交错流。
  • duplexify – 将可写和可读流转换为具有异步初始化和stream1/streams2输入支持的stream2双工流。
  • into-stream – 将缓存/字符串/数组/对象转换为流。
  • merge2 – 按顺序或并行的方式将多个流合并为一个流。
  • end-of-stream – 当可读/可写/双工流已完成或失败时,调用回调。
  • stream-to-promise – 将流(可读或可写流)转换为Promise。
  • node-streamifier – 将 Buffer/String 转换为可读流。
  • stream-spec – Stream的可执行规范(让测试流变得更容易)。
  • from2 – ReadableStream的便捷封装,其灵感来自through2。
  • dmap-stream – 基于Event-stream事件流重构。
  • emit-stream – 将event-emiiters转换为流 和 将流转换为event-emiiters。
  • stream-combiner – 将管道变成单个流。合并返回的流,写入第一个流并从最后一个流读取的流。
  • duplexer – 创建一个双工流。
  • promise-streams – Node.js流的集合,可以很好地与Promises (through, map, reduce等)一起使用。
  • binary-split – 快速的换行符(或任何分隔符)分隔符流。
  • stream-combiner2 – stream3的stream-combiner。
  • through2-concurrent – 简单的Node.JS流(streams2)转换,可并行执行转换功能(可设置的最大并发数)。
  • cloneable-readable – 安全地克隆可读流。
  • destroy – 如果可能,销毁流。
  • peek-stream – 转换流,可让您在决定如何解析前先窥视第一行。
  • resumer – 通过流开始暂停,并在下一个tick恢复。
  • stream-each – 迭代流中的所有数据。
  • flush-write-stream – 一种写入流构造函数,支持流完成之前调用的flush函数。
  • multi-write-stream – 创建一个可写流,其可写入多个其他可写流。
  • first-chunk-stream – 缓冲并转换流的前n个字节。
  • multi-read-stream – 可读流,它同时从多个可读流中读取。
  • node-stream-reduce – 将流数据减少为单个值。
  • stream-shift – 返回流可读队列中的下一个缓冲区/对象。
  • stream-assert – 流的断言库。
  • stream-from-promise – 根据Promise创建流。
  • stromjs – 无依赖的流实用程序。流的Lodash。
  • exec-stream – 将流传入到子进程。
  • stream-callback – 将流转换为一个回调函数。
  • 检测/判断

  • is.js – 微型检查库。
  • is-promise – 测试对象是否看起来像一个 Promises-a+ promise。
  • is-ci – 判断当前环境是否为CI服务器。
  • is – JavaScript类型测试库。
  • is-type-of – Node.js完整类型判断。
  • is-stream – 判断对象是否为流对象。
  • is-utf8 – 判断Buffer对象是否UTF8编码。
  • core-util-is – Node.js核心工具 util.is* 函数。
  • is-ip – 检查字符串是否为IP地址。
  • isstream – 判断对象是否为流对象。
  • is-class – 判断函数是否为 ES6类(class) 类型。
  • isexe – 检查文件是否可执行文件。
  • is-type – Node.js核心类型判断。
  • is-md5 – JavaScript实用程序,用于检查字符串是否为md5加密。
  • is-core-module – 判断一个说明符 是否为 Node.js 核心模块。
  • 数据校验

  • validator.js – 字符串校验库。
  • joi – 基于JavaScript对象的对象模式描述语言和验证器。
  • async-validator – 异步校验。
  • class-validator – 基于装饰器属性校验的类校验器。
  • ajv – 最快的JSON Schema验证器。支持JSON Schema draft-04/06/07/2019-09/2020-12 and JSON类型定义(RFC8927)。
  • Superstruct – 用简单和可组合的方式在JavaScript和TypeScript中校验数据。
  • v8n – 流畅的JavaScript校验库。
  • forgJs – 轻量的JavaScript对象校验器。
  • jsonschema – JSON Schema校验器.
  • validatorjs – 受Laravel的校验器启发,在浏览器和Node.JS上的数据校验库。
  • is-my-json-valid – 极快的JSON Schema校验工具。
  • property-validator – 用于JavaScript、Node和Express的易用的属性校验工具。
  • schema-inspector – 用于净化和验证JS对象的强大工具。
  • 函数式编程

  • lodash – 可提供一致性、自定义、性能和其他功能的实用程序库,比Underscore.js更好更快。
  • immutable – 不可变的数据集合。
  • RxJS – 用于转换、组合和查询各种数据的函数式响应式库。
  • Ramda – 实用程序库着重于通过自动计算和相反的参数顺序实现的灵活功能组合,避免数据变化。
  • immer – 函数式响应式编程。
  • Bacon.js – 函数式响应式编程。
  • Lazy.js – 类似于lodash/underline的工具库,但具有惰性计算,在许多情况下可以转换为卓越的性能.
  • Folktale – 一套用于JavaScript中的通用函数编程的库,它允许您编写优雅的、模块化的应用程序,并且bug更少及更强的重用性。
  • Kefir.js – 响应式库,专注于高性能和低内存使用。
  • Mout – 该库与其他现有解决方案之间最大的区别是,您可以选择只加载需要的模块/函数,而不需要额外开销。.
  • 控制反转/依赖注入

  • InversifyJS – 功能强大且轻便的控制反转容器。
  • injection-js – 5.1K中的JavaScript和TypeScript的依赖注入库。它提取自Angular的ReflectiveInjector,这意味着它设计合理,功能完整、快速、可靠且经过良好测试。
  • power-di – 轻量的依赖注入库。
  • Shell

  • zx – 用于编写更好脚本的工具。
  • shelljs – 跨平台Unix shell命令。
  • execa – 跨平台实现子进程执行 child_process.{execFile,exec}
  • node-windows – Node.js上支持的Windows脚本。如(daemons, eventlog, UAC等)。
  • shx – Node的可移植Shell命令。
  • clipboardy – 跨平台的复制/粘贴。
  • cross-spawn – 跨平台实现 child_process.spawn()
  • parallelshell – 并行运行多个 shell 命令。
  • clipboard-cli – 跨平台的复制/粘贴。
  • gulp-execa – 在Gulp中跨平台命令执行。
  • runscript – 更容易的运行脚本命令。
  • cross-spawn-promise – Promise化的cross-spawn。
  • shell-exec – 通过系统Shell执行命令。
  • 环境

  • dotenv – 从 .env文件 加载用于nodejs项目的环境变量。
  • cross-env – 跨平台设置环境变量。
  • envinfo – 生成关于您的开发环境的 告,用于调试和问题 告。
  • which – 跨平台实现的Unix which.
  • user-home – 跨平台获取用户home目录路径。
  • username – 获取当前用户名。
  • osenv – 跨平台环境变量。
  • is-elevated – 检查进程是否以提升的权限运行。
  • 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年6月15日
    下一篇 2021年6月15日

    相关推荐