Node.js

Awesome Node.js

特别感谢:

Botpress

Segment
使用细分节省设置分析的时间. 我们正在招聘!





Awesome

只需输入node.cool即可. 查看我的博客,并在Twitter上关注我.


Packages

Mad science

  • webtorrent -用于Node.js和浏览器的流媒体客户端.
  • peerflix -流洪流客户端.
  • dat -数据集的实时复制和版本控制.
  • ipfs -分布式文件系统,试图将所有计算设备与同一文件系统连接.
  • stackgl -用于WebGL的开放软件生态系统,建立在browserify和npm之上.
  • peerwiki -关于BitTorrent的所有Wikipedia.
  • peercast -将torrent视频流传输到Chromecast.
  • BitcoinJS -干净,可读,经过验证的比特币库.
  • Bitcore - Pure and powerful Bitcoin library.
  • PDFKit -PDF生成库.
  • turf -模块化地理空间处理和分析引擎.
  • webcat -使用WebRTC的p2p网络管道,该WebRTC使用GitHub私钥/公钥进行身份验证.
  • NodeOS - The first operating system powered by npm.
  • YodaOS -AI操作系统.
  • Brain.js -机器学习框架.
  • Cytoscape.js -图论(又名网络)建模和分析.
  • Kadence -Kademlia分布式哈希表.
  • seedshot -从浏览器共享临时P2P屏幕截图.
  • js-git -Git的JavaScript实现.
  • skale -高性能分布式数据处理引擎.
  • xlsx -纯JS Excel电子表格阅读器和编写器.
  • isomorphic-git -Git的纯JavaScript实现.

Command-line apps

  • np -更好的“ npm发布”.
  • npm-name -在npm上检查软件包名称的可用性.
  • gh-home -在当前目录中打开仓库的GitHub页面.
  • npm-home -打开软件包的npm页面.
  • trash -更安全的替代rm.
  • speed-test -测试您的互联网连接速度和ping.
  • emoj -从命令行中的文本中找到相关的表情符号.
  • pageres -捕获网站截图.
  • cpy -复制文件.
  • vtop - More better top, with nice charts.
  • 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文件夹.

Functional programming

  • lodash -实用程序库,可提供一致性,自定义,性能和其他功能. 更好更快的Underscore.js.
  • immutable -不可变的数据收集.
  • Ramda -实用程序库,侧重于通过自动计算和相反的参数顺序实现的灵活功能组合. 避免变异数据.
  • Folktale -使用JavaScript进行通用功能编程的库套件,可让您编写优雅的模块化应用程序,减少错误,并增加重复使用率.
  • Mout -与其他现有解决方案之间最大区别的实用程序库是,您可以选择仅加载所需的模块/功能,而无需额外的开销.
  • Bacon.js -功能反应式编程.
  • RxJS -功能性反应式库,用于转换,合成和查询各种数据.
  • Lazy.js -类似于lodash / Underscore的实用程序库,但具有懒惰的评估,在许多情况下可以转换为出色的性能.
  • Kefir.js -反应性库,专注于高性能和低内存使用.

HTTP

  • got -内置http模块的更好接口.
  • gh-got -got与GitHub API交互的便捷包装.
  • axios -基于承诺的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 -建立在GraphQL请求库上 got.
  • global-agent –可以使用环境变量配置的全局HTTP / HTTPS代理.

Debugging / Profiling

  • ndb -通过Chrome DevTools启用了改进的调试体验.
  • ironNode -开箱即用的支持ES2015的Node.js调试器.
  • node-inspector -基于Blink开发人员工具的调试器.
  • debug -微小的调试工具.
  • why-is-node-running -Node.js正在运行,但您不知道为什么?
  • njsTrace -检测并跟踪代码,查看所有函数调用,参数,返回值以及每个函数所花费的时间.
  • vstream -可仪表化的流混入以检查流的管道.
  • stackman -使用代码摘录和其他优点增强了错误堆栈跟踪.
  • locus -在运行时启动可以访问所有变量的REPL.
  • 0x -火焰图分析.
  • ctrace -格式正确且经过改进的跟踪系统调用和信号.
  • leakage -编写内存泄漏测试.
  • llnode -事后分析工具,可让您检查对象并从崩溃的Node.js进程中获取见解.
  • thetool -以Chrome DevTools友好格式为您的应用捕获不同的CPU,内存和其他配置文件.
  • swagger-stats -跟踪API调用并监视API性能,运行状况和使用情况指标.

Logging

  • pino -受Bunyan启发的超快速记录器.
  • winston -多传输异步日志记录库.
  • console-log-level -可以想象的最简单的记录器,它支持日志级别和自定义前缀.
  • storyboard -端到端,分层,实时,彩色日志和故事.
  • signale -可入侵的控制台记录器,输出精美.

Command-line utilities

  • chalk -终端字符串样式正确.
  • meow -CLI应用程序帮助器.
  • yargs -自动生成优雅用户界面的命令行解析器.
  • ora -优雅的终端微调.
  • get-stdin -更容易的标准输入.
  • log-update -通过覆盖终端中的先前输出进行记录. 用于渲染进度条,动画等.
  • Ink -对交互式命令行应用程序做出反应.
  • listr -终端任务列表.
  • conf -为您的应用或模块进行简单的配置处理.
  • ansi-escapes -用于操作终端的ANSI转义码.
  • log-symbols -各种日志级别的彩色符号.
  • figures -具有Windows CMD后备功能的Unicode符号.
  • boxen -在终端中创建方框.
  • terminal-link -在终端中创建可点击的链接.
  • terminal-image -在终端中显示图像.
  • string-width -获取字符串的可视宽度-显示字符串所需的列数.
  • cli-truncate -在终端中将字符串截断为特定宽度.
  • first-run -检查是否是第一次运行该过程.
  • blessed -像诅咒的图书馆.
  • Inquirer.js -交互式命令行提示符.
  • yn -分析是/否像值.
  • cli-table3 -漂亮的unicode表.
  • drawille -在终端上用Unicode盲文字符绘制.
  • update-notifier -更新CLI应用程序的通知.
  • ascii-charts -终端中的ASCII条形图.
  • progress -灵活的ascii进度栏.
  • insight - Helps you understand how your tool is being used by anonymously reporting usage metrics to 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 -使未处理的承诺拒绝大声失败,而不是默认的静默失败.
  • sparkly -生成迷你图▂▃▅▂▇.
  • Bit -在存储库中创建,维护,查找和使用小型模块和组件.
  • gradient-string -终端输出中漂亮的颜色渐变.
  • oclif -CLI框架,包括解析器,自动文档,测试和插件.
  • term-size -可靠地获得终端窗口的大小.
  • Cliffy -交互式CLI的框架.

Build tools

  • parcel -快速,零配置的Web应用程序捆绑包.
  • webpack -打包浏览器的模块和资产.
  • rollup -下一代ES2015模块捆绑器.
  • gulp -流媒体和快速构建系统,其代码优先于配置.
  • Broccoli -快速,可靠的资产流水线,支持固定时间的重建和紧凑的构建定义.
  • Brunch -前端Web应用程序构建工具,具有简单的声明性配置,快速的增量编译和自觉的工作流程.
  • Start -具有可共享预设的功能任务运行程序.
  • ygor -对于'npm run'何时还不够以及其他所有内容过多的工作,有希望的任务运行程序.
  • FuseBox -快速构建的系统,结合了webpack,JSPM和SystemJS的强大功能,并具有一流的TypeScript支持.
  • pkg -将您的Node.js项目打包为可执行文件.

Hardware

  • johnny-five -基于Firmata的Arduino框架.
  • serialport -访问串行端口以进行读写.
  • usb -USB库.
  • i2c-bus -I2C串行总线访问.
  • onoff -GPIO访问和中断检测.
  • spi-device -SPI串行总线访问.
  • pigpio -Raspberry Pi上的快速GPIO,PWM,伺服控制,状态更改通知和中断处理.
  • gps -NMEA解析器,用于处理GPS接收器.

Templating

  • marko -基于HTML的模板引擎,可将模板编译为CommonJS模块,并支持流,异步渲染和自定义标签.
  • nunjucks -具有继承,异步控制等功能的模板引擎(受Jinja2启发).
  • handlebars.js -胡子模板的超集,它添加了强大的功能,如助手和更高级的块.
  • EJS -简单的简单的模板语言.
  • Pug -受Haml影响的高性能模板引擎.

Web frameworks

  • 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 -服务器呈现的通用JavaScript Web应用程序的简约框架.
  • Nuxt.js -服务器呈现的Vue.js应用程序的简约框架.
  • seneca -编写微服务的工具包.
  • AdonisJs -用于Node.js的真正MVC框架,该框架建立在依赖注入和IoC容器的坚实基础上.
  • Hemera -使用编写可靠且容错的微服务 NATS.
  • Micro -带有异步方法的简约微服务框架.
  • Moleculer -快速而强大的微服务框架.
  • Fastify -快速和低开销的Web框架.
  • Nest -基于角度的框架,用于构建高效且可扩展的服务器端应用程序.
  • Zeronode -用于可靠和容错微服务的最小构建块.
  • TypeGraphQL -用于使用TypeScript使用类和装饰器创建GraphQL API的现代框架.

Documentation

  • documentation.js -API文档生成器,支持ES2015 +和流程注释.
  • ESDoc -针对ES2015的文档生成器,附带测试代码并衡量文档覆盖范围.
  • Docco -文档生成器,该文档生成器生成一个HTML文档,该文档显示与代码混合的注释.
  • JSDoc -API文档生成器,类似于JavaDoc或PHPDoc.

Filesystem

  • del -使用glob删除文件/文件夹.
  • globby -具有多种模式支持的Glob文件.
  • 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 -获取随机的临时文件或目录路径.

Control flow

-承诺 - Bluebird -致力于创新功能和性能的Promise库. - pify -承诺回调样式的函数. - delay -将承诺延迟指定的时间. - promise-memoize -记住带有到期和预取功能的承诺返回功能. - valvelet -限制承诺返回功能的执行率. - p-map -同时兑现承诺. - More… -可观察 - zen-observable -观测成果的实施. - RxJS -反应式编程. - observable-to-promise -将一个可观察者转换为一个承诺. - More… -流 - Highland.js -仅使用标准JavaScript和类似Node的流即可轻松管理同步和异步代码. -回调 - each-async -像forEach这样的异步并发迭代器. - async -提供简单,强大的功能来处理异步问题. -频道 - js-csp -通信JavaScript的顺序过程(例如Clojurescript core.async或Go).

Streams

Real-time

  • µ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服务器.

Image

  • 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码和条形码生成器.

Text

  • iconv-lite -转换字符编码.
  • string-length -通过正确计算星号并忽略ansi转义码来获取字符串的真实长度.
  • camelcase -将破折号/点号/下划线/空格分隔的字符串转换为camelCase:foo-bar→fooBar.
  • escape-string-regexp -转义RegExp特殊字符.
  • execall -在一个字符串中找到多个RegExp匹配项.
  • splice-string - Remove or replace part of a string like Array#splice.
  • indent-string -缩进字符串中的每一行.
  • strip-indent -从字符串的每一行中删除前导空格.
  • detect-indent -检测代码的缩进.
  • he -HTML实体编码器/解码器.
  • i18n-node -具有动态JSON存储的简单翻译模块.
  • babelfish -i18n,复数非常简单的语法.
  • matcher -简单的通配符匹配.
  • unhomoglyph -规范外观相似的unicode字符.
  • i18next -国际化框架.
  • nanoid -微型,安全,URL友好的唯一字符串ID生成器.

Number

Math

Date

  • Luxon -用于处理日期和时间的库.
  • date-fns -现代日期实用程序.
  • Moment.js -解析,验证,操作和显示日期.
  • Day.js -不可变的日期库替代Moment.js.
  • dateformat -日期格式.
  • tz-format -格式化带时区的日期:2015-11-30T10:40:35 + 01:00.
  • cctz -快速的日期解析,格式化和时区对话.

URL

  • normalize-url -规范化网址.
  • humanize-url -人性化网址:http://sindresorhus.com→sindresorhus.com.
  • url-unshort -展开缩短的网址.
  • speakingurl -通过音译从字符串生成子段.
  • linkify-it -具有完整unicode支持的链接模式检测器.
  • url-pattern -URL和其他字符串比正则表达式字符串匹配模式更容易.
  • embedza -使用来自oEmbed,Open Graph和meta标签的信息,从URL创建HTML代码段/嵌入.

Data validation

  • joi -对象模式描述语言和JavaScript对象的验证器.
  • is-my-json-valid -使用代码生成的JSON模式验证器非常快.
  • property-validator -Express的简单属性验证.
  • schema-inspector -JSON API清理和验证.
  • ajv -最快的JSON模式验证器. 支持v5,v6和v7建议.

Parsing

  • remark -由插件支持的Markdown处理器.
  • markdown-it -Markdown解析器具有100%CommonMark支持,扩展和语法插件.
  • parse5 -符合规范的快速全功能HTML解析器.
  • strip-json-comments -从JSON剥离注释.
  • strip-css-comments -从CSS中删除注释.
  • parse-json -解析JSON有更多有用的错误.
  • URI.js -URL突变.
  • PostCSS -CSS解析器/字符串化器.
  • JSONStream -流JSON.parse和stringify.
  • neat-csv -快速CSV解析器. 以上的回调接口.
  • csv-parser -旨在比其他所有人更快的流式CSV解析器.
  • PEG.js -简单的解析器生成器,可生成具有出色错误报告的快速解析器.
  • x-ray -Web抓取实用程序.
  • nearley -简单,快速,强大的JavaScript解析.
  • binary-extract -从JSON缓冲区中提取一个值,而不分析整个内容.
  • Stylecow -解析,操作和转换现代CSS,使其与所有浏览器兼容. 可通过插件扩展.
  • js-yaml -非常快速的YAML解析器.
  • xml2js -XML到JavaScript对象的转换器.
  • Jison -友好的JavaScript解析器生成器. 它与野牛,Yacc和家庭共享基因.
  • google-libphonenumber -解析,格式化,存储和验证电话号码.
  • ref -在缓冲区中读/写结构化二进制数据.
  • xlsx-populate -读/写Excel XLSX.
  • Chevrotain -非常快速且功能丰富的JavaScript解析器构建工具包.
  • fast-xml-parser -验证和解析XML.

Humanize

  • pretty-bytes -将字节转换为人类可读的字符串:1337→1.34 kB.
  • pretty-ms -将毫秒转换为人类可读的字符串:“ 1337000000”→“ 15d 11h 23m 20s”.
  • ms -微小的毫秒转换工具.
  • pretty-error -错误更少.
  • read-art -从任何页面提取可读内容.

Compression

  • yazl - 压缩.
  • yauzl -解压缩.
  • Archiver -用于生成档案的流接口,支持ZIP和TAR.
  • pako -到纯js的高速zlib端口(放气,放气,gzip).
  • tar-stream -流式tar解析器和生成器. 另见 tar-fs.
  • decompress -解压模块,开箱即用,支持tar,tar.gz和zip文件.

Network

  • get-port -获取可用端口.
  • ipify -获取您的公共IP地址.
  • getmac -获取计算机的MAC地址.
  • DHCP -DHCP客户端和服务器.
  • netcat -纯JS中的Netcat端口.

Database

-司机 - PostgreSQL -PostgreSQL客户端. 纯JavaScript和本机libpq绑定. - Redis -Redis客户端. - LevelUP -LevelDB. - MySQL -MySQL客户端. - couchdb-nano -CouchDB客户端. - Aerospike -Aerospike客户. - Couchbase -Couchbase客户端. - MongoDB -MongoDB驱动程序. -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. -查询生成器 - Knex -PostgreSQL,MySQL和SQLite3的查询生成器,旨在灵活,可移植且易于使用. -其他 - NeDB -用JavaScript编写的嵌入式持久数据库. - Lowdb -由Lodash提供支持的小型JavaScript数据库. - Keyv -简单的键值存储,支持多个后端. - Finale -用于Sequelize模型的RESTful端点生成器. - database-js -具有类似JDBC连接的多个数据库的包装器. - Mongo Seeding -使用JavaScript和JSON文件填充MongoDB数据库.

Testing

  • AVA -未来的测试跑步者.
  • Mocha -功能丰富的测试框架,使异步测试变得简单而有趣.
  • nyc -基于伊斯坦布尔的代码覆盖工具,可与子流程一起使用.
  • 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 -无头铬.

Security

  • upash -适用于所有密码哈希算法的统一API.
  • themis -使简单的加密方案易于使用的多语言框架:静态数据,经过身份验证的数据交换,传输保护,身份验证等.
  • GuardRails -GitHub应用程序,可在请求请求中提供安全反馈.
  • rate-limiter-flexible -暴力破解和DDoS攻击防护.
  • crypto-hash -异步非阻塞哈希.
  • jose-simple —使用JOSE(JSON对象签名和加密)标准对数据进行加密和解密.

Benchmarking

  • Benchmark.js -基准测试库,支持高分辨率计时器并返回具有统计意义的结果.
  • matcha -基准化的简单方法.

Minifiers

Authentication

  • Passport -简单,轻松的身份验证.
  • Grant -适用于Express,Koa和Hapi的OAuth中间件.

Authorization

  • CASL -UI和API的同构授权.
  • node-casbin -支持访问控制模型(如ACL,RBAC和ABAC)的授权库.

Email

  • Nodemailer -处理电子邮件的最快方法.
  • emailjs -将带有附件的文本/ HTML电子邮件发送到任何SMTP服务器.
  • email-templates -创建,预览和发送自定义电子邮件模板.
  • MJML -标记语言旨在减轻创建响应电子邮件的麻烦.

Job queues

  • bull -持久性作业和消息队列.
  • agenda -由MongoDB支持的作业调度.
  • idoit -具有高级作业控制的Redis支持的作业队列引擎.
  • node-resque -Redis支持的作业队列.
  • rsmq -Redis支持的消息队列.
  • bee-queue -高性能的Redis支持的作业队列.
  • RedisSMQ -具有实时监控功能的简单高性能Redis消息队列.
  • sqs-consumer -在没有样板的情况下构建基于Amazon Simple Queue Service(SQS)的应用程序.
  • better-queue -无法使用Redis时,简单而高效的作业队列.

Node.js management

  • n -Node.js版本管理.
  • nave -Node.js的虚拟环境.
  • nodeenv -与Python的virtualenv兼容的Node.js虚拟环境.
  • nvm for Windows -Windows版本管理.
  • nodenv -版本管理器,类似于Ruby的rbenv. 它支持自动版本切换.

Natural language processing

  • retext -可扩展的自然语言系统.
  • franc -检测文字的语言.
  • leven -使用Levenshtein距离算法测量两个字符串之间的差异.
  • natural -自然语言设施.
  • nlp.js -具有实体提取,情感分析,自动语言识别等功能的构建机器人.

Process management

  • PM2 -高级流程管理器.
  • nodemon -监视您的应用程序中的更改并自动重新启动服务器.
  • node-mac -将脚本作为本地Mac守护程序运行,并登录到控制台应用程序.
  • node-linux -将脚本作为本机系统服务运行,并登录到syslog.
  • node-windows -将脚本作为本机Windows服务运行,并登录到事件查看器.
  • supervisor -当脚本崩溃时重新启动脚本,或在* .js文件更改时重新启动脚本.
  • Phusion Passenger -友好的流程管理器,直接集成到Nginx中.

Automation

  • robotjs -桌面自动化:控制鼠标,键盘和阅读屏幕.

AST

  • Acorn -小型,快速的JavaScript解析器.
  • babel-parser -Babel中使用的JavaScript解析器.
  • cherow -注重性能和稳定性的JavaScript解析器.

Static site generators

  • Wintersmith -灵活,简约,多平台的静态站点生成器.
  • Assemble -用于Node.js,Grunt.js和Yeoman的静态站点生成器.
  • DocPad -具有动态功能和巨大插件生态系统的静态站点生成器.
  • Phenomic -基于React和Webpack生态系统的现代静态网站生成器.
  • docsify -Markdown文档网站生成器,没有静态生成的HTML文件.
  • Charge -使用JSX和MDX的自带零配置静态站点生成器.

  • KeystoneJS -基于Express和MongoDB构建的CMS和Web应用程序平台.

  • ApostropheCMS -基于Express和MongoDB的内容管理系统,重点在于直观的前端内容编辑和管理.
  • Strapi -内容管理框架(headless-CMS),用于构建功能强大的API.
  • Tipe -来自架构文件的具有GraphQL和REST API的开发人员优先的内容管理系统.

Forum

  • nodeBB -现代网络论坛平台.

Blogging

  • Ghost -简单,功能强大的发布平台.
  • Hexo -快速,简单而强大的博客框架.

Weird

  • cows -ASCII母牛.
  • superb -获得精湛的单词.
  • cat-names -获取流行的猫的名字.
  • dog-names -获取流行的狗的名字.
  • superheroes -获取超级英雄的名字.
  • supervillains -获取超级恶名.
  • cool-ascii-faces -得到一些很酷的ascii面孔.
  • cat-ascii-faces -₍˄·༝·͈˄₎◞(=ↀωↀ=)✧(^ ・ o ・ ^)ノ”.
  • nerds -从诸如哈利·波特,星球大战和神奇宝贝等讨厌的话题中获取数据.

Serialization

  • snappy -Google的Snappy压缩库的本地绑定.
  • protobuf -协议缓冲区的实现.
  • compactr -压缩器协议的实现.

Miscellaneous

  • execa -更好的child_process.
  • cheerio -专为服务器设计的核心jQuery的快速,灵活和精益实现.
  • Electron - Build cross platform desktop apps with web technologies. (You might like awesome-electron)
  • open -打开网站,文件,可执行文件之类的东西.
  • hasha -哈希变得简单. 获取缓冲区/字符串/流/文件的哈希.
  • dot-prop -使用点路径从嵌套对象获取属性.
  • onetime -仅运行一次功能.
  • mem -记忆功能-一种优化技术,用于通过缓存具有相同输入的调用结果来加速连续的函数调用.
  • import-fresh -在绕过缓存的同时导入模块.
  • strip-bom -从字符串/缓冲区/流中剥离UTF-8字节顺序标记(BOM).
  • os-locale -获取系统区域设置.
  • ssh2 -SSH2客户端和服务器模块.
  • adit -SSH隧道变得简单.
  • import-lazy -延迟导入模块.
  • file-type -检测缓冲区的文件类型.
  • Bottleneck - Rate limiter that makes throttling easy.
  • ow -对人类的功能参数验证.
  • webworker-threads -带有本地线程的轻量级Web Worker API实现.
  • clipboardy -访问系统剪贴板(复制/粘贴).
  • node-pre-gyp -使从二进制文件发布和安装Node.js C ++插件变得容易.
  • opencv -用于OpenCV的绑定. 事实计算机视觉库.
  • dotenv -从.env文件加载环境变量.
  • remote-git-tags -从远程git仓库获取标签.
  • semver -语义版本解析器.
  • Faker.js -生成大量的伪造数据.
  • nodegit -与Git的本地绑定.
  • json-strictify -安全地将值序列化为JSON,而不会丢失数据或进入无限循环.
  • resolve-from -从给定路径解析require.resolve()之类的模块的路径.
  • simplecrawler -事件驱动的网络爬虫.
  • jsdom -HTML和DOM的JavaScript实现.
  • hypernova -服务器端呈现JavaScript视图.
  • @sindresorhus/is -输入检查值.
  • env-dot-prop -使用点路径获取,设置或删除process.env的嵌套属性.
  • emittery -简单现代的异步事件发射器.
  • node-video-lib -用于处理MP4和FLV视频文件并为HLS流创建MPEG-TS块的纯JavaScript库.
  • basic-ftp – FTP / FTPS客户端.

Resources

Tutorials

Discovery

Articles

Newsletters

Videos

Books

Blogs

  • Node.js blog
  • webapplog.com -实用Node.js和Pro Express.js的作者Azat Mardan撰写的有关Node.js和JavaScript的博客文章.

Courses

Cheatsheets

Tools

  • 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范围匹配的软件包版本.

Community

Miscellaneous

License

CC0

在法律允许的范围内, Sindre Sorhus 放弃了此作品的所有版权以及相关或邻近的权利.