不容错过的 Node.js 资源集
2010 年 11 月 15 日
awesome-nodejs-cn
该项目翻译至 Awesome-nodejs
,为大家提供一个快速查阅优秀nodejs资源的中文索引,希望能够提升大家找nodejs相关资源&项目的效率。(目前Github上已经有该项目的中文翻译了,不过只翻译了一小部分,看提交时间两年没维护了,故自己完整的翻译了一份。)
路线图
目前该目录索引主要来自前言提到的awesome-nodejs,后续增量的新内容有兴趣的小伙伴可以PR更新,可以提交一些自己开发的优质资源分享
内容
目录
逼格项目
-
webtorrent
– 用于Nodejs 和 浏览器的磁力种子客户端. -
peerflix
– 磁力种子客户端. -
dat
– 数据集的实时复制和版本控制库. -
ipfs
– 将所有计算设备与同一文件系统连接的分布式文件系统。 -
stackgl
– WebGL的开放软件生态系统,建立在browserify和npm之上。 -
peerwiki
– 种子维基百科. -
peercast
– 种子视频流式传输到Chromecast工具. -
BitcoinJS
– 干净,可读,经过验证的比特币库. -
Bitcore
– 强大的纯比特币库. -
PDFKit
– PDF生成库. -
turf
– 模块化地理空间处理和分析引擎. -
webcat
– 使用WebRTC在Web上通过p2p管道,该WebRTC使用GitHub私钥/公钥进行身份验证. -
NodeOS
– 基于Node的操作系统. -
YodaOS
– AI操作系统. -
Brain.js
– 机器学习框架. -
Cytoscape.js
– 图论(又称网络)建模和分析. -
Kadence
– Kademlia分布式哈希表. -
seedshot
– 通过浏览器共享临时P2P屏幕截图. -
js-git
– JS版Git实现. -
skale
– 高性能分布式数据处理引擎. -
xlsx
– 纯JS Excel电子表格阅读器和编写器. -
isomorphic-git
– Git的纯JavaScript实现.
命令行应用
-
np
– 更好的npm publish
. -
npm-name
– 在npm上检查软件包名称的可用性. -
gh-home
– 在当前目录中打开仓库的GitHub页面. -
npm-home
– 打开软件包的npm页面. -
trash
– 比rm
更安全的替代命令. -
speed-test
– 测试您的互联网连接速度和ping. -
emoj
– 在命令行上的文本中找到相关的表情符号. -
pageres
– 捕获网站截图. -
cpy
– 文件拷贝. -
vtop
– 顶部更好,图表更漂亮的命令行的图形活动监视器。. -
empty-trash
– 清空垃圾. -
is-up
– 检查网站是否正常. -
is-online
– 检查互联网连接是否正常. -
public-ip
– 获取你的公共IP地址. -
clipboard-cli
– 复制并粘贴到终端上. -
XO
– 使用JavaScript幸福样式强制执行严格的代码样式. -
Standard
-JavaScript标准样式-一种统治所有样式的样式. -
ESLint
– JavaScript的可插入linting实用程序. -
dev-time
– 获取GitHub用户的当前本地时间. -
David
– 告诉您您的软件包npm依赖项何时过时. -
http-server
– 简单的零配置命令行HTTP服务器. -
Live Server
– 具有livereload功能的开发HTTP服务器. -
bcat
-将命令输出管道传输到Web浏览器. -
normit
– 在您的终端中使用语音合成功能进行Google翻译. -
fkill
– 跨平台的进程强杀命令. -
pjs
– 可移植的JavaScript。 从终端快速过滤,映射和缩小. -
license-checker
– 检查应用程序依赖项的许可证. -
browser-run
– 在浏览器环境中轻松运行代码. -
tmpin
– 将stdin支持添加到任何接受文件输入的CLI应用程序. -
wifi-password
– 获取当前的wifi密码. -
wallpaper
– 更改桌面墙纸. -
brightness
– 更改屏幕亮度. -
torrent
– 种子下载命令. -
kill-tabs
– 取消所有Chrome标签页,以提高性能,减少电池使用量并节省内存. -
alex
– 捕捉不敏感,不体贴的文字. -
pen
– 通过您喜欢的编辑器在浏览器中进行实时Markdown预览. -
subdownloader
– 电影和电视剧字幕下载器. -
dark-mode
– 切换macOS暗模式. -
iponmap
– IP位置查找器. -
Jsome
– 漂亮地打印带有可配置颜色和缩进的JSON命令. -
itunes-remote
– 交互式控制iTunes. -
mobicon
– 移动应用程序图标生成器. -
mobisplash
– 移动应用启动画面生成器. -
diff2html-cli
– 漂亮的git diff与HTML生成器. -
Cash
– 纯JavaScript中的跨平台Unix Shell命令. -
trymodule
– 在终端中试用npm软件包. -
jscpd
– 复制/粘贴检测器以获取源代码. -
atmo
– 服务器端API模拟. -
auto-install
– 在编码时自动安装依赖项. -
lessmd
– 终端中的降价. -
cost-of-modules
– 找出哪些依赖性使项目性能降低的库. -
localtunnel
– 将你的本地主机公开命令. -
svg-term-cli
– 通过SVG分享终端会话. -
gtop
– 终端的系统监控仪表板. -
themer
– 为您的编辑器,终端,墙纸,Slack等生成主题. -
carbon-now-cli
– 代码的精美图片-从终端内部开始. -
cash-cli
– 170种货币之间转换命令. -
taskbook
– 命令行栖息地的任务,公告板和注释. -
discharge
– 轻松将静态网站部署到Amazon S3. -
npkill
– 轻松查找和删除旧的沉重的node_modules文件夹.
函数式编程
-
lodash
– 可提供一致性,自定义,性能和其他功能的实用程序库。 更好更快的Underscore.js. -
immutable
– 不变的数据收集. -
Ramda
– 实用程序库着重于通过自动计算和相反的参数顺序实现的灵活功能组合。 避免变异数据. -
Folktale
– 一套用于JavaScript中的通用函数编程的库,它允许您编写优雅的、模块化的应用程序,并且bug更少,重用性更强。. -
Mout
– 该库与其他现有解决方案之间最大的区别是,您可以选择只加载需要的模块/函数,而不需要额外开销。. -
Bacon.js
– 函数式响应式编程. -
RxJS
– 用于转换、组合和查询各种数据的函数式响应式库. -
Lazy.js
– 类似于lodash/underline的工具库,但具有惰性计算,在许多情况下可以转换为卓越的性能. -
Kefir.js
– 响应式库,专注于高性能和低内存使用. -
immer
不可变数据的特性
HTTP
-
got
– 更好的内置“http”模块接口. -
gh-got
– “got”与GitHub API交互的方便包装. -
axios
– 基于Promise 的HTTP客户端(也可以在浏览器中工作). -
request
– 简单的 HTTP 请求客户端. -
wreck
– HTTP 客户端工具. -
download
– 轻松下载和提取文件. -
http-proxy
– HTTP代理. -
superagent
– HTTP请求库. -
node-fetch
– Node.js的window.fetch
. -
flashheart
– REST 客户端. -
http-fake-backend
– 通过可配置的路线提供JSON文件或JavaScript对象的内容来构建伪造的后端. -
cacheable-request
– 使用符合RFC的缓存支持包装本机HTTP请求. -
gotql
– 基于[got]构建的GraphQL请求库( https://github.com/sindresorhus/got
). -
global-agent
– 可以使用环境变量配置的全局HTTP / HTTPS代理.
调试/分析
-
ndb
– Chrome DevTools调试体验改进工具. -
ironNode
– 支持ES2015的Node.js开箱即用的调试器. -
node-inspector
– 基于Blink 开发者工具的调试器. -
debug
– 轻量调试工具. -
why-is-node-running
– 当不明Node原因继续运行时,使用的分析工具 -
njsTrace
– 检测并跟踪代码,查看所有函数调用、参数、返回值以及在每个函数中花费的时间. -
vstream
-可检测的流混入以检查流的管道. -
stackman
– E使用代码摘录和其他优点增强错误堆栈跟踪. -
locus
– 在运行时启动可访问所有变量的REPL. -
0x
– 火焰图分析. -
ctrace
– 格式正确且经过改进的跟踪系统调用和信号. -
leakage
– 写入内存泄漏测试. -
llnode
– 事后分析工具,使您可以检查对象并从崩溃的Node.js进程中获取见解. -
thetool
– 以Chrome DevTools友好格式为您的应用捕获不同的CPU,内存和其他配置文件. -
swagger-stats
– 跟踪API调用并监视API性能,运行状况和使用情况指标.
日志
-
pino
– 受Bunyan启发的超快速记录器. -
winston
– 多传输异步日志记录库. -
console-log-level
– 可以想象的最简单的记录器,支持日志级别和自定义前缀. -
storyboard
-端到端,分层,实时,丰富多彩的日志和故事. -
signale
– 具有漂亮输出的控制台记录器.
命令行工具
-
chalk
– 终端字符串样式工具. -
meow
– CLI App帮助工具. -
yargs
– 自动生成优雅用户界面的命令行解析器. -
ora
– 优雅的终端旋转进度条. -
get-stdin
– 简单的 stdin输出. -
log-update
– 通过覆盖终端中的上一个输出来记录。用于渲染进度条、动画等. -
Ink
– 用于交互式命令行的react apps. -
listr
– 终端任务列表. -
conf
– 应用程序或模块的简单配置处理. -
ansi-escapes
– 操作终端的ANSI转义代码. -
log-symbols
– 不同日志级别的彩色符号. -
figures
– Windows CMD后备的Unicode符号. -
boxen
– 在终端中创建框. -
terminal-link
– 终端创建可点击链接. -
terminal-image
– 终端展示图片. -
string-width
– 获取字符串的可视宽度-显示字符串所需的列数. -
cli-truncate
– 在终端中将字符串截断为特定宽度. -
first-run
– 检查是否是第一次运行该进程. -
blessed
– 具有node.js高级终端接口API的类似于curses的库。. -
Inquirer.js
– 交互式的命令行弹框. -
yn
– 解析 yes/no 像值. -
cli-table3
– 漂亮的unicode表. -
drawille
– 使用Unicode盲文字符在终端上绘图. -
update-notifier
– 更新CLI应用程序的通知. -
ascii-charts
– 终端中的ASCII条形图. -
progress
– 灵活的ascii进度栏. -
insight
– 通过向Google Analytics(分析)匿名报告使用情况指标来帮助您了解工具的使用情况. -
cli-cursor
– 切换CLI光标. -
columnify
– 创建适合控制台输出的基于文本的列。 支持单元包裹. -
cli-columns
– 列式Unicode和Ansi安全文本列表. -
cfonts
– 性感的控制台ASCII字体. -
multispinner
– 多个可同时单独控制的CLI进度加载器. -
omelette
– Shell自动完成帮助程序. -
cross-env
– 跨平台的环境变量设置. -
shelljs
– 可移植的Unix shell命令. -
sudo-block
– 阻止用户用root权限使用你的程序. -
loud-rejection
– 显示处理没有控制的promise rejections 失败,替代默认的静默失败方式. -
sparkly
– 生成迷你图▁▂▃▅▂▇
. -
Bit
– 在存储库中创建,维护,查找和使用小型模块和组件. -
gradient-string
– 终端中输出漂亮的色彩渐变. -
oclif
– CLI框架,包括解析器,自动文档,测试和插件. -
term-size
– 可靠地获得终端窗口大小. -
Cliffy
– 交互式CLI的框架.
构建工具
-
parcel
– 快速,零配置的Web应用构建工具. -
webpack
– 打包浏览器的模块和资产. -
rollup
– 新一代的 ES2015 打包构建工具. -
gulp
– 流式快速构建系统,支持代码而不是配置. -
Broccoli
– 快速、可靠的资产管道,支持固定时间重建和紧凑的构建定义. -
Brunch
– 前端web应用程序构建工具,具有简单的声明性配置、快速的增量编译和自定的工作流. -
Start
– 具有可共享预设的功能性任务管理器. -
ygor
–npm run
不够用时的补充工具. -
FuseBox
– 快速构建系统,结合了webpack,JSPM和SystemJS的强大功能,并具有一流的TypeScript支持. -
pkg
– 将你的Node.js项目打包成可执行文件.
硬件
-
johnny-five
– 基于Firmata的Arduino框架. -
serialport
– 访问串行端口以进行读写. -
usb
– USB 库. -
i2c-bus
– I2C串行总线访问. -
onoff
– GPIO访问和中断检测. -
spi-device
– SPI串行总线访问. -
pigpio
– Raspberry Pi上的快速GPIO,PWM,伺服控制,状态更改通知和中断处理. -
gps
– NMEA解析器,用于处理GPS接收器.
模板
-
marko
– 基于HTML的模板引擎,可将模板编译为CommonJS模块,并支持流,异步渲染和自定义标签. -
nunjucks
– 具有继承,异步控制等功能的模板引擎(受Jinja2启发). -
handlebars.js
– Mustache模板的超集,其中添加了强大的功能,如助手和更高级的块. -
EJS
– 超级简单的模板语言. -
Pug
– 受Haml影响的高性能模板引擎.
Web框架
-
Hapi
– 用于创建应用服务的框架. -
Koa
– 由Express背后的团队设计的框架,旨在为Web应用程序和API提供更小,更富表现力和更强大的基础. -
Express
– Web应用程序框架,为构建单页和多页以及混合Web应用程序提供了一组强大的功能. -
Feathers
– 本着Express精神构建的微服务框架. -
LoopBack
– 用于创建REST API并轻松连接到后端数据源的强大框架. -
Meteor
–
-超简单,无处不在的数据库,在线数据,纯Javascript Web框架。
(你可能会喜欢 awesome-meteor
) -
Restify
– 使你能够构建正确的REST Web服务。 -
ThinkJS
– 支持ES2015 +的框架,WebSockets,REST API. -
ActionHero
– 用于为TCP套接字,WebSocket和HTTP客户端制作可重用和可扩展的API的框架. -
Next.js
– React服务端渲染框架. -
Nuxt.js
– Vue服务端渲染框架. -
seneca
– 编写微服务的工具包. -
AdonisJs
– 基于依赖注入和IoC容器的坚实基础构建的Node.js的真正MVC框架. -
Hemera
-使用以下工具编写可靠且容错的微服务 NATS
. -
Micro
– 具有异步方法的简约微服务框架. -
Moleculer
– 快速而强大的微服务框架. -
Fastify
– 快速和低开销的Web框架. -
Nest
-受Angular启发的框架,用于构建高效且可扩展的服务器端应用程序. -
Zeronode
– 最小的构建块,可实现可靠且容错的微服务. -
TypeGraphQL
– 使用类和装饰器使用TypeScript创建GraphQL API的现代框架.
文档生成相关
-
documentation.js
– API文档生成器,支持ES2015 +和流程注释. -
ESDoc
– 针对ES2015的文档生成器,附加测试代码并衡量文档覆盖范围. -
Docco
– 文档生成器,该生成器生成一个HTML文档,该文档显示与代码混合的注释. -
JSDoc
– API文档生成器,类似于JavaDoc或PHPDoc.
文件系统
-
del
– 使用Glob删除文件/文件夹. -
globby
– 支持多种模式的Glob文件s. -
cpy
– 文件拷贝. -
rimraf
– 递归删除rm -rf之类的文件. -
make-dir
– 像mkdir -p
一样递归创建目录. -
graceful-fs
– 具有各种改进功能的fs模块的直接替代品. -
chokidar
–
稳定来自fs.watch和fs.watchFile的事件以及在macOS上使用本机fsevents的文件系统监视程序. -
find-up
– 通过上级父目录查找文件. -
proper-lockfile
– 进程间和机器间锁文件工具. -
load-json-file
– 读取解析JSON文件. -
write-json-file
– 自动序列化写入JSON到文件. -
fs-write-stream-atomic
– 类似fs.createWriteStream()
, 但是原子的操作. -
filenamify
– 将字符串转换为有效的文件名. -
lnfs
– 像ln -fs
一样,强制创建符号链接. -
istextorbinary
– 检查文件是文本还是二进制. -
fs-jetpack
– 完全重新设计的文件系统API,方便日常使用. -
fs-extra
– fs模块的额外方法. -
pkg-dir
– 查找npm包的根目录. -
filehound
– 用于文件系统搜索的灵活流畅的接口. -
move-file
– 移动文件,甚至可以跨设备使用. -
tempy
– 获取随机的临时文件或目录路径.
流程控制
- Promises
-
Observables
-
zen-observable
– 观察者模式实现. -
RxJS
– 响应式编程. -
observable-to-promise
– 将可观察者转换为Promise. - 更多…
-
zen-observable
-
Streams
-
Highland.js
– 仅使用标准JavaScript和类似Node的流,即可轻松管理同步和异步代码.
-
Highland.js
-
Callbacks
-
each-async
– 异步并发迭代器,如forEach. -
async
– 提供简单,强大的功能来处理异步问题.
-
each-async
-
Channels
-
js-csp
– 为JavaScript通信顺序过程(例如Clojurescript core.async或Go)。
-
js-csp
流处理
-
through2
– 轻量的流包装器. -
from2
– ReadableStream方便的流包装 , 灵感来自于through2
. -
get-stream
– 获取流作为字符串或缓冲区. -
into-stream
– 将 buffer/string/array/object 转化为流. -
duplexify
– 将可写和可读流转换为单个stream2双工流。. -
pumpify
– 将一系列流合并为单个双工流. -
peek-stream
– 转换流,使您可以先决定第一行,然后再决定如何解析它. -
binary-split
– 换行符(或任何定界符)分隔符流 -
byline
– 超简单的逐行流读取器. -
first-chunk-stream
– 转换流中的第一个块. -
pad-stream
– 填充流中的每一行. -
multistream
–
将多个流合并为一个流. -
stream-combiner2
– 流水线成一个流. -
readable-stream
– Streams2 and Streams3 核心实现镜像. -
through2-concurrent
– 同时转换对象流.
即时通信
-
µWebSockets
– 高度可扩展的WebSocket服务器和客户端库. -
Socket.io
– 实现基于事件的实时双向通信. -
Faye
– 基于Bayeux协议的实时客户端-服务器消息总线. -
SocketCluster
– 可扩展的HTTP + WebSocket引擎,可以在多个CPU内核上运行. -
Primus
– 实时框架的抽象层,以防止模块锁定. -
deepstream.io
– 可扩展的实时微服务框架. -
Kalm
– 低级套接字路由器和中间件框架. -
MQTT.js
– MQTT客户端-基于Pub-sub的消息协议,用于TCP / IP. -
rpc-websockets
– 通过WebSocket实现JSON-RPC 2.0. -
Aedes
– 可以在任何流服务器上运行的准系统MQTT服务器.
图像处理
-
sharp
– 调整JPEG,PNG,WebP和TIFF图像大小的最快模块. -
image-type
– 检测Buffer / Uint8Array的图像类型. -
gm
– GraphicsMagick和ImageMagick包装器. -
lwip
– 不需要ImageMagick的轻量级图像处理器. -
pica
–
纯JS中的高质量和快速调整大小(lanczos3)。 当不允许像素化时替代canvas drawImage(). -
jimp
– 纯JavaScript中的图像处理. -
probe-image-size
– 无需完全下载即可获取大多数图像格式的大小. -
qrcode
– QR码和条形码生成器.
文本处理
-
iconv-lite
– 转换字符编码. -
string-length
– 获取字符串的真实长度-通过正确计算星号并忽略ansi转义码. -
camelcase
– 将破折号/点号/下划线/空格分隔的字符串转换为驼峰式,案例:foo-bar→fooBar. -
escape-string-regexp
– 转义RegExp特殊字符. -
execall
– 在字符串中查找多个RegExp匹配项. -
splice-string
– 移除或替换字符串的一部分Array#splice
. -
indent-string
– 缩进字符串中的每一行. -
strip-indent
– 从字符串的每一行中除去前导空格. -
detect-indent
– 检测代码缩进. -
he
– HTML实体编码器/解码器. -
i18n-node
– 具有动态JSON存储的简单翻译模块. -
babelfish
– i18n,复数的语法非常简单. -
matcher
– 简单通配符匹配. -
unhomoglyph
– 规范化视觉上相似的unicode字符. -
i18next
– 国际化框架. -
nanoid
– 小巧、安全、URL友好、唯一的字符串ID生成器.
数字
-
random-int
– 生成随机整数. -
random-float
– 生成随机浮点数. -
unique-random
– 生成连续唯一的随机数. -
round-to
– 将数字四舍五入到指定的小数位数:1.234
→1.2`.
数学
-
ndarray
– 多维数组. -
mathjs
– 广泛的数学图书馆. -
math-clamp
– 钳制一个数字. -
algebra
– 代数结构. -
multimath
– 在WebAssembly和JS中创建快速图像数学的核心. -
decimal.js
– 浮点计算.
日期处理
-
Luxon
– 用于处理日期和时间的库. -
date-fns
– 现代日期工具. -
Moment.js
– 分析、验证、操作和显示日期. -
Day.js
– Moment.js之外的不可变日期库. -
dateformat
– 日期格式化. -
tz-format
– 通过时区格式化时间:2015-11-30T10:40:35+01:00
. -
cctz
– 快速解析, 格式化, 和时区转化工具.
URL
-
normalize-url
– 规范化 URL. -
humanize-url
– 可读化 URL: http://sindresorhus.com
→ sindresorhus.com. -
url-unshort
– 扩展锻炼URL. -
speakingurl
– 通过音译从字符串生成子段. -
linkify-it
– 具有完整Unicode支持的链接模式检测器. -
url-pattern
– 比regex字符串更容易匹配url和其他字符串的模式. -
embedza
– 使用oEmbed、Open Graph、meta标记中的信息从url创建HTML片段/嵌入
数据校验
-
joi
– JavaScript对象的对象模式描述语言和验证器. -
is-my-json-valid
– 急速JSON格式校验工具. -
property-validator
– Express的属性校验工具. -
schema-inspector
– JSON API清理和验证. -
ajv
– 最快的JSON模式验证程序。支持v5、v6和v7方案.
解析工具
-
remark
– Markdown插件. -
markdown-it
– Markd支持100%通用Markdown标签解析的扩展&语法插件. -
parse5
– 快速全功能规范兼容的HTML解析器. -
strip-json-comments
– JSON注释剔除工具. -
strip-css-comments
– CSS注释剔除工具. -
parse-json
– JSON更多错误信息提示工具. -
URI.js
– URL 处理工具. -
PostCSS
– CSS 解析工具. -
JSONStream
– JSON.parse&stringify流处理工具. -
csv-parser
– 旨在比其他任何人都快的流式CSV解析器. -
PEG.js
– 简单的语法分析器生成器,可以生成快速的语法分析器,并具有出色的错误报告功能. -
x-ray
– Web 爬虫工具. -
nearley
– 简单,快速,强大的JavaScript解析器. -
binary-extract
– 从JSON缓冲区中提取一个值而无需解析整个对象的工具. -
Stylecow
– 解析,操纵和转换现代CSS,使其与所有浏览器兼容。 可扩展的插件. -
js-yaml
– 快速的YAML解析器. -
xml2js
– XML到JavaScript对象的转换器. -
Jison
– 友好的 JavaScript parser生成器. 与 Bison, Yacc 家族一样的思路. -
google-libphonenumber
– 解析、格式化、存储和验证电话号码. -
ref
– 读/写缓冲区中的结构化二进制数据. -
xlsx-populate
– 读/写 Excel XLSX. -
Chevrotain
– 非常快速且功能丰富的JavaScript解析器构建工具包. -
fast-xml-parser
– 验证&解析 XML.
人性化
-
pretty-bytes
– 字节转换成人可读的字符工具:1337
→1.34 kB
. -
pretty-ms
– Convert milliseconds to a human readable string:1337000000
→15d 11h 23m 20s
. -
ms
– 微毫秒转换实用程序. -
pretty-error
– 更少无关信息的错误提示器. -
read-art
– 从任何页面提取可读内容.
压缩
-
yazl
– Zip打包. -
yauzl
– Unzip解压. -
Archiver
– 用于生成存档文件的流接口,支持ZIP和TAR. -
pako
– javascript的高速zlib端口,可在浏览器和node.js中使用. -
tar-stream
– 流式tar解析器和生成器。另见 tar-fs
. -
decompress
– 解压模块,支持tar、tar.gz和zip文件开箱即用.
网络
-
get-port
– 获取一个可以的端口. -
ipify
– 获取你的公网IP地址. -
getmac
– 获取电脑的MAC地址. -
DHCP
– DHCP 客户端 &服务器. -
netcat
– 纯JS中的Netcat端口.
数据库
-
驱动
-
PostgreSQL
– PostgreSQL客户端。 纯JavaScript和本机libpq绑定. -
Redis
– Redis 客户端. -
LevelUP
– LevelDB. -
MySQL
– MySQL 客户端. -
couchdb-nano
– CouchDB 客户端. -
Aerospike
– Aerospike 客户端. -
Couchbase
– Couchbase 客户端. -
MongoDB
– MongoDB 驱动.
-
PostgreSQL
-
ODM / ORM
-
Sequelize
– 多方ORM。 支持PostgreSQL,SQLite,MySQL. -
Bookshelf
– Backbone.js风格的PostgreSQL,MySQL和SQLite3的ORM. -
Massive
– PostgreSQL数据访问工具. -
Mongoose
– 优雅的MongoDB对象建模. -
Waterline
– 与数据存储区无关的工具,可大大简化与一个或多个数据库的交互. -
OpenRecord
– PostgreSQL,MySQL,SQLite3和RESTful数据存储的ORM。 类似于ActiveRecord. -
pg-promise
– 用于使用Promise的本机SQL的PostgreSQL框架. -
slonik
– 具有严格类型,详细日志记录和断言的PostgreSQL客户端. -
Objection.js
– 基于SQL查询生成器Knex的轻量级ORM. -
TypeORM
– PostgreSQL,MariaDB,MySQL,SQLite等的ORM. -
MikroORM
– 基于数据映射器,工作单元和身份映射模式的TypeScript ORM。 支持MongoDB,PostgreSQL,MySQL和SQLite.
-
Sequelize
-
Query builder
-
Knex
– PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用.
-
Knex
-
其他
-
NeDB
– 用JavaScript编写的嵌入式持久数据库. -
Lowdb
– 由Lodash支持的小型JavaScript数据库. -
Keyv
– 简单的键值存储,支持多个后端. -
Finale
– 用于Sequelize模型的RESTful端点生成器. -
database-js
– 具有类似JDBC的连接的多个数据库的包装器. -
Mongo Seeding
– 使用JavaScript和JSON文件填充MongoDB数据库.
-
NeDB
测试相关
-
AVA
– 面向未来的测试运行程序. -
Mocha
– 使异步测试变得简单有趣的功能丰富的测试框架. -
nyc
– 基于istanbul 构建的代码覆盖工具,可用于子流程. -
tap
– TAP测试框架. -
tape
– TAP生产测试. -
power-assert
– 通过标准的assert接口提供描述性断言消息. -
Mochify
– TDD与Browserify,Mocha,PhantomJS和WebDriver. -
trevor
– 针对多个版本的Node.js运行测试,而无需手动切换版本或推送至Travis CI. -
loadtest
– 使用自动化API为Web应用程序运行负载测试. -
Sinon.JS
– 单元测试数据模拟,函数模拟工具. -
navit
– PhantomJS/SlimerJS包装器简化浏览器测试脚本. -
Nock
– HTTP模拟. -
intern
– 代码测试栈. -
toxy
– 可入侵的HTTP代理可模拟故障场景和网络状况. -
hook-std
-钩子&修改stdout / stderr. -
testen
– 使用NVM在本地运行针对多个版本的Node.js的测试. -
Nightwatch
– 基于Selenium WebDriver的自动化UI测试框架. -
WebdriverIO
– 基于WebDriver协议的自动化测试. -
Jest
– 简单的JavaScript测试. -
TestCafe
– 自动化的浏览器测试. -
abstruse
– 持续集成服务器. -
CodeceptJS
– 端到端测试. -
Puppeteer
– 无界面Chrome. -
nve
– 在本地多个版本的Node.js上运行任何命令.
安全相关
-
upash
– 所有密码散列算法的统一API. -
themis
– 使典型加密方案易于使用的多语言框架:静态数据、经过身份验证的数据交换、传输保护、身份验证等. -
GuardRails
– 在请求中提供安全反馈的GitHub应用程序. -
rate-limiter-flexible
– 暴力DDoS攻击保护. -
crypto-hash
– 异步非阻塞哈希. -
jose-simple
– 使用JOSE(JSON对象签名和加密)标准对数据进行加密和解密. -
helmet
helmet 常见攻击防御库,比如xss等等
基准化
-
Benchmark.js
– 代码性能测试工具. -
matcha
– 更简单的测试方法.
文件压缩
-
babili
-基于Babel工具链的 ES2015+ 压缩库. -
UglifyJS2
– JavaScript 压缩工具. -
clean-css
– CSS 压缩工具. -
minimize
– HTML压缩工具. -
imagemin
– Image压缩工具.
认证方式
授权库
-
CASL
– UI和API的同构授权. -
node-casbin
– 支持访问控制模型(如ACL、RBAC和ABAC)的授权库.
邮箱
-
Nodemailer
– 处理电子邮件的最快方式. -
emailjs
– 向任何SMTP服务器发送带有附件的文本/HTML电子邮件. -
email-templates
– 创建、预览和发送自定义电子邮件模板. -
MJML
– 旨在减少创建响应电子邮件的痛苦的标记语言.
任务队列
-
bull
– 持久作业和消息队列. -
agenda
– MongoDB支持的作业调度. -
idoit
– 具有高级作业控制的Redis支持的作业队列引擎. -
node-resque
– Redis支持的作业队列. -
rsmq
– 基于Redis的消息队列. -
bee-queue
– 高性能的 基于Redis的任务队列. -
RedisSMQ
– 具有实时监控功能的简单高性能Redis消息队列. -
sqs-consumer
– 在没有样板文件的情况下构建基于Amazon简单队列服务(SQS)的应用程序. -
better-queue
– 无法使用Redis时简单高效的作业队列. -
amqp
– amqplib rabbit等等消息队列连接库. -
kafka-node
– kafka-node kafka客户端.
Node.js管理工具
-
n
– Node.js 版本控制. -
nave
– Node.js虚拟环境. -
nodeenv
– 与Python的virtualenv兼容的Node.js虚拟环境. -
nvm for Windows
– Windows node版本控制工具. -
nodenv
– 类似于Ruby的rbenv的版本管理器,支持自动换版.
NLP自然语言处理
-
retext
– 一个可扩展的自然语言系统. -
franc
– 检测文本语言. -
leven
– 使用Levenshtein距离算法测量两个字符串之间的差异. -
natural
– 自然语言设施. -
nlp.js
– 构建机器人,具有实体提取、情感分析、自动语言识别等功能.
进程管理
-
PM2
– 高级进程管理工具. -
nodemon
– 监视应用程序中的更改并自动重新启动服务器. -
node-mac
– 将脚本作为本机Mac守护进程运行并登录到控制台应用程序. -
node-linux
– 将脚本作为本机系统服务运行并登录到syslog. -
node-windows
– 将脚本作为本机Windows服务运行并登录到事件查看器. -
supervisor
– 当脚本崩溃时重新启动脚本,或者当`*.js’文件更改时重新启动脚本s. -
Phusion Passenger
– 直接嵌入Nginx的易用的进程管理工具.
自动化
-
robotjs
– 桌面自动化:控制鼠标、键盘和阅读屏幕。.
AST
-
Acorn
– 轻量、快速的JavaScript解析器. -
babel-parser
– 用于babel的JavaScript解析工具. -
cherow
– 专注于性能&稳定性的Javascript解析器.
静态站点生成
-
Wintersmith
– 灵活、简约、多平台静态站点生成器. -
Assemble
– Node.js、Grunt.js和Yeoman的静态站点生成器. -
DocPad
– 具有动态能力和巨大插件生态系统的静态站点生成器. -
Phenomic
– 基于React和Webpack生态系统的现代静态网站生成器. -
docsify
– Markdow文档站点生成器. -
Charge
– 使用JSX和MDX的自以为是的零配置静态站点生成器.
Content management systems
-
KeystoneJS
-基于Express和MongoDB的CMS和web应用平台. -
ApostropheCMS
– 基于Express和MongoDB的内容管理系统,强调直观的前端内容编辑和管理. -
Strapi
– 内容管理框架(headless CMS)构建强大的api. -
Tipe
– 从模式文件中使用GraphQL和REST API的开发人员第一内容管理系统.
论坛
-
nodeBB
– Node社区论坛.
博客
序列化
其他
-
execa
– 比child_process
更好的子进程方法. -
cheerio
– 快速, 灵活, 学习了jquery设计模式的服务端dom操作工具(爬取网页时使用). -
Electron
– 构建跨平台应用的GUI技术
(You might like awesome-electron
) -
open
– 打开网站、文件、可执行文件等. -
hasha
– 使散列变得简单。获取缓冲区/字符串/流/文件的哈希. -
import-fresh
– Import a module while bypassing the cache. -
ssh2
– SSH2客户端和服务器模块. -
adit
– SSH 相关工具. -
Bottleneck
– 速率限制器,使节流变得容易. -
webworker-threads
– 具有本机线程的轻量级Web Worker API实现. -
node-pre-gyp
– 使从二进制发布安装Nodjes C++ 插件更简单的工具. -
opencv
– OpenCV的javascript绑定。计算机图形处理工具. -
dotenv
– 从.env文件加载环境变量. -
remote-git-tags
– 从远程git repo获取标记. -
semver
– 语义版本分析器. -
Faker.js
– 测试数据批量生成工具. -
nodegit
– node本地绑定Git. -
json-strictify
– 安全地将值序列化为JSON而不丢失数据或进入无限循环. -
simplecrawler
– 事件驱动的web爬网程序. -
jsdom
– HTML和DOM的JavaScript实现. -
hypernova
– 服务端渲染javascsript视图. -
env-dot-prop
– 使用点路径获取、设置或删除process.env的嵌套属性. -
node-video-lib
– 纯JavaScript库,用于处理MP4和FLV视频文件并为HLS流创建MPEG-TS块. -
basic-ftp
– FTP/FTPS 客户端.
资源
教程
-
Node.js 最佳实践
– 以多种语言提供的Node.js最佳实践中排名靠前的内容的摘要和管理. -
Nodeschool
– 通过交互式课程学习Node.js. -
Node的艺术
– Node.js 全景介绍. -
流操作手册
– 如何使用流编写Node.js程序s. -
模块开发最佳实践
– 一些写新的npm模块时的最近实践. -
Node之路
– 一个完整的Node.js最佳实践和指导原则存在于编写可维护的模块、可扩展的应用程序和代码,这些代码实际上是可读的。. - [你不知道的Node.js]Node.js核心特性和异步JavaScript简介t.
-
极简Node.js指南
– 如何编写可移植/跨平台Node.js代码的实用指南. -
无框架构建可用web app
– 一组视频教程/直播,可帮助您使用一些简单的库和核心的Node.js模块来构建和部署真正的实时Web应用程序.
资源仓库
-
npms
– 出色的包裹搜索功能,可使用 myriad of metrics
. -
npm addict
– 你日常加入的npm软件包. -
npmcompare.com
– 比较并发现npm软件包.
文章
- Node.js异常处理
- 十步自学 Node.js
- Node.js掌控文件系统
- Semver:入门
- Semver: Tilde and Caret
- 为什么使用异步?
- 深入浅出Node.js事件循环
- 深入浅出对象流
-
README的艺术
– 学习编写高质量readme的艺术. - 使用Express快速构建Graphql服务器
新闻
-
Node Weekly
– Node.js新闻和文章的每周电子邮件摘要. -
Node Module Of The Week!
– 每周精选node模块 .
视频
- Node.js介绍-Ryan Dahl
- 手把手使用Node.js
-
Nodetuts
– 一系列讲座,包括TCP和HTTP API服务器、异步编程等. -
V8 垃圾收集器
– V8垃圾收集器座谈. -
Nodejs 10件憾事 – Ryan Dahl
– Node.js的创建者关于其某些局限性的深刻见解.
书籍
- Node.js in Action
- Node.js in Practice
- Mastering Node
- Node.js 8 the Right Way
- Professional Node.js: Building JavaScript Based Scalable Software
- Practical Node.js: Building Real-World Scalable Web Apps
- Mixu’s Node book
- Pro Express.js
- Secure Your Node.js Web Application
- Express in Action
- Practical Modern JavaScript
- Mastering Modular JavaScript
- Get Programming with Node.js
博客
- Node.js blog
-
webapplog.com
– Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan.
课程
-
学习用 Node.js构建web&App
– Wes Bos视频教程. - 基于Node.js的实时web应用
- 学习&理解 Node.js
备忘单
- Express.js
-
Stream FAQs
– 回答有关流的常见问题,包括分页,事件等. -
Strong Node.js
– Node.js Web服务的源代码安全性分析清单.
工具
-
OctoLinker
– Chrome扩展程序,可链接GitHub上package.json,.js,.jsx,.coffee和.md文件中的依赖项. -
npm-hub
– Chrome扩展程序可在存储库自述文件的底部显示npm依赖项. -
RunKit
– 在任何网站上嵌入Node.js环境. -
RequireBin
– 由npm和browserify提供支持的可共享JavaScript程序. -
github-npm-stats
– Chrome扩展程序在GitHub上显示npm下载统计信息. -
npm semver calculator
– 直观地探索一个semver范围匹配的软件包版本.
社区
其他
-
nodebots
– 由JavaScript驱动的机器人. -
modern-node
– 使用Jest,Prettier,ESLint和Standard创建节点模块的工具包. -
Microsoft Node.js Guidelines
– 在Microsoft平台上使用Node.js的提示,技巧和资源.
相关链接
-
awesome-npm
– 使用npm的资源和技巧. -
awesome-cross-platform-nodejs
– 编写和测试跨平台代码的资源.