JavaScript

Awesome JavaScript Awesome

很棒的浏览器端集合 JavaScript 图书馆,资源和闪亮的东西.

公用事业 用户界面


Package Managers

托管JavaScript库,并提供用于获取和打包它们的工具.

  • npm -npm是JavaScript的软件包管理器.
  • Bower -Web的软件包管理器.
  • component -客户端软件包管理,用于构建更好的Web应用程序.
  • spm -全新的静态软件包管理器.
  • jam -使用针对浏览器且与RequireJS兼容的存储库的软件包管理器.
  • jspm -无摩擦的浏览器包管理.
  • Ender -无图书馆图书馆.
  • volo -从模板创建前端项目,添加依赖项,并自动生成结果项目.
  • Duo -下一代软件包管理器,融合了Component,Browserify和Go中的最佳创意,使组织和编写前端代码变得快速而轻松.
  • yarn -快速,可靠和安全的依赖性管理.

Loaders

用于JavaScript的模块或加载系统.

  • RequireJS -JavaScript的文件和模块加载器.
  • browserify -浏览器端的require()node.js方法.
  • SeaJS -Web的模块加载器.
  • HeadJS -您的HEAD中唯一的脚本.
  • curl -小型,快速,可扩展的模块加载器,可处理AMD,CommonJS Modules / 1.1,CSS,HTML /文本和旧脚本.
  • lazyload -微小的,无依赖的异步JavaScript和CSS加载器.
  • script.js -异步JavaScript加载器和依赖项管理器.
  • systemjs -符合AMD,CJS和ES6规范的模块加载器.
  • LodJS -基于AMD的模块加载器.
  • ESL -首先是模块加载器浏览器,支持延迟定义和AMD.
  • modulejs -轻量级JavaScript模块系统.

Bundlers

  • browserify -Browserify允许您捆绑所有依赖项,从而在浏览器中需要('modules').
  • webpack -打包浏览器的CommonJs / AMD模块.
  • Rollup -下一代ES6模块捆绑器.
  • Brunch -快速的前端Web应用程序构建工具,具有简单的声明式配置.
  • Parcel -快速,零配置的Web应用程序捆绑程序.

Testing Frameworks

Frameworks

  • mocha -用于node.js和浏览器的简单,灵活,有趣的JavaScript测试框架.
  • jasmine -无需DOM的简单JavaScript测试框架.
  • qunit -一个易于使用的JavaScript单元测试框架.
  • jest -无痛的JavaScript单元测试.
  • prova -基于Tape和Browserify的节点和浏览器测试运行程序
  • DalekJS -使用JavaScript自动进行跨浏览器功能测试
  • Protractor -量角器是AngularJS应用程序的端到端测试框架.
  • tape -用于节点和浏览器的点击产生测试工具.
  • TestCafe -针对现代Web开发堆栈的自动化浏览器测试.
  • ava -未来派JavaScript测试人员

Assertion

  • chai -适用于node.js的BDD / TDD断言框架以及可与任何测试框架配对的浏览器.
  • Enzyme -Enzyme是用于React的JavaScript测试实用程序,可以更轻松地断言,操作和遍历React组件的输出.
  • react testing library -简单而完整的React DOM测试实用程序,鼓励良好的测试实践.
  • Sinon.JS -测试JavaScript的间谍,存根和模拟.
  • expect.js -针对Node.JS和浏览器的BDD风格的断言.

Coverage

  • istanbul -另一个JS代码覆盖工具.
  • blanket -JavaScript的简单代码覆盖库. 设计用于浏览器和nodejs的易于安装和使用.
  • JSCover -JSCover是一种工具,用于测量JavaScript程序的代码覆盖率.

Runner

  • phantomjs -可编写脚本的无头WebKit.
  • slimerjs -运行Gecko的类似PhantomJS的工具.
  • casperjs -用于PhantomJS和SlimerJS的导航脚本和测试实用程序.
  • zombie -使用node.js进行疯狂,快速,全栈式,无头的浏览器测试.
  • totoro -一个简单稳定的跨浏览器测试工具.
  • karma -JavaScript的壮观测试运行器.
  • nightwatch -基于node.js和Selenium Webdriver的UI自动化测试框架.
  • intern -用于JavaScript的下一代代码测试堆栈.
  • yolpo -浏览器中的按语句JavaScript解释器.
  • puppeteer -由Google Chrome官方团队提供的无头Chrome Node.js API.
  • webdriverio -用于Node.js的下一代WebDriver测试自动化框架.

QA Tools

  • prettier -漂亮的代码格式化器.
  • JSHint -JSHint是一种有助于检测JavaScript代码中的错误和潜在问题的工具.
  • jscs -JavaScript代码样式检查器.
  • jsfmt -用于格式化,搜索和重写JavaScript.
  • jsinspect -检测复制粘贴的和结构相似的代码.
  • buddy.js -JavaScript的幻数检测.
  • ESLint -完全可插拔的工具,用于识别和报告JavaScript模式.
  • JSLint -高标准,严格和自以为是的代码质量工具,旨在仅保留部分语言.
  • JavaScript Standard Style -固执己见的,无配置的样式指南,样式检查器和格式化程序
  • Pre-evaluate code at buildtime -在构建时预先评估您的前端javascript代码

MVC Frameworks and Libraries

  • angular.js -HTML增强了Web应用程序.
  • aurelia -适用于移动设备,台式机和网络的JavaScript客户端框架.
  • backbone -为您的JS应用提供一些具有模型,视图,集合和事件的主干.
  • ember.js -用于创建雄心勃勃的Web应用程序的JavaScript框架.
  • meteor -超简单,无处不在的数据库,在线数据,纯JavaScript网络框架.
  • ractive -下一代DOM操作.
  • vue -直观,快速且可组合的MVVM,用于构建交互式界面.
  • svelte -Svelte是构建Web应用程序的新方法. 它是一个编译器,可使用您的声明性组件并将其转换为可通过外科方式更新DOM的高效JavaScript.
  • knockout -淘汰赛可让您更轻松地使用JavaScript创建丰富的响应式UI.
  • spine -用于构建JavaScript应用程序的轻量级MVC库.
  • espresso.js -用于制作用户界面的最小JavaScript库.
  • canjs -可以做JS,更好,更快,更容易.
  • react -用于构建用户界面的库. 它具有声明性,高效且极为灵活. 与虚拟DOM一起使用.
  • hyperapp -用于构建前端应用程序的1kb JavaScript库.
  • preact -使用相同的ES6 API的快速3kb React替代方案. 组件和虚拟DOM.
  • nativescript -使用JavaScript构建真正的本机跨平台iOS和Android应用程序.
  • react-native -使用React构建本机应用程序的框架.
  • riot -类似React的程式库,但体积很小.
  • thorax -加强骨干.
  • chaplin -使用Backbone.js库的JavaScript应用程序体系结构.
  • marionette -Backbone.js的复合应用程序库,旨在简化大规模JavaScript应用程序的构建.
  • ripple -建立反应式视图的微小基础.
  • rivets -轻巧而强大的数据绑定+模板解决方案.
  • derby -MVC框架使编写可在Node.js和浏览器中运行的实时协作应用程序变得容易.
  • way.js -简单,轻巧,持久的双向数据绑定.
  • mithril.js -Mithril是一个客户端MVC框架(轻量,稳健,快速).
  • jsblocks -jsblocks是更好的MV-ish框架.
  • LiquidLava -用于构建用户界面的透明MVC框架.
  • feathers -适用于未来应用程序的简约实时JavaScript框架.
  • Keo -具有Shadow DOM支持的功能性无状态React组件.
  • atvjs -使用纯JavaScript快速开发Apple TV应用程序.

Node-Powered CMS Frameworks

  • KeystoneJS -强大的CMS和Web应用程序框架.
  • Reaction Commerce -反应式CMS,实时架构和设计.
  • Ghost -简单,强大的发布平台.
  • We.js - framework for real time apps, sites or blogs.
  • Hatch.js -具有社交功能的CMS平台.
  • TaracotJS -基于Node.js的快速,简约的CMS.
  • Nodizecms -适用于CoffeeScript爱好者的CMS.
  • Cody -带有WSYWYG编辑器的CMS.
  • PencilBlue -CMS和博客平台.
  • Strapi -开源Node.js Headless CMS,可轻松构建可定制的API.

Templating Engines

*模板引擎使您可以执行字符串插值.

  • mustache.js -在JavaScript中使用{{mustaches}}进行最小模板化.
  • handlebars.js -髭模板语言的扩展.
  • nunjucks -Mozilla提供的功能强大的JavaScript模板语言.
  • hogan.js -用于Mustache模板语言的编译器.
  • doT -适用于Node.js和浏览器的最快+简洁的JavaScript模板引擎.
  • dustjs -浏览器和node.js的异步模板.
  • eco -嵌入式CoffeeScript模板.
  • JavaScript-Templates - < 1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies.
  • t.js -压缩了约400字节的微型JavaScript模板框架.
  • Pug -强大,优雅,功能丰富的Node.js模板引擎. (原名翡翠)
  • EJS -有效的JavaScript模板.
  • xtemplate -用于节点和浏览器的可扩展模板引擎库
  • marko -用于Node.js和浏览器的快速,轻量,基于HTML的模板引擎,具有异步,流式传输,自定义标签和CommonJS模块作为已编译输出.
  • swig -一个简单,功能强大且可扩展的Node.js和基于浏览器的JavaScript模板引擎.

Articles and Posts

Data Visualization

用于网络的数据可视化工具.

  • d3 -用于HTML和SVG的JavaScript可视化库.
  • metrics-graphics -为简洁,有原则的数据图形和布局而优化的库.
  • three.js -JavaScript 3D库.
  • Chart.js -使用的简单HTML5图表 标签.
  • paper.js -矢量图形脚本的瑞士军刀–使用HTML5 Canvas将Scriptographer移植到JavaScript和浏览器.
  • fabric.js -JavaScript画布库,SVG到画布(&画布到SVG)解析器.
  • peity -渐进式 条形图,折线图和饼图.
  • raphael -JavaScript矢量库.
  • echarts -企业图表.
  • vis -基于浏览器的动态可视化库.
  • two.js -用于Web的渲染器不可知二维绘图api.
  • g.raphael -拉斐尔的图表.
  • sigma.js -专门用于图形绘制的JavaScript库.
  • arbor -使用Web Worker和jQuery的图形可视化库.
  • cubism -用于可视化时间序列的D3插件.
  • dc.js -建立了多维图表,可与d3.js渲染的交叉过滤器一起使用
  • vega -可视化语法.
  • processing.js -Processing.js使您的数据可视化可以使用Web标准进行且无需任何插件.
  • envisionjs -动态HTML5可视化.
  • rickshaw -用于创建交互式实时图形的JavaScript工具包.
  • flot -有吸引力的jQuery JavaScript图表.
  • morris.js -漂亮的时序线形图.
  • nvd3 -为d3.js构建可重复使用的图表和图表组件.
  • svg.js -用于处理和动画SVG的轻量级库.
  • heatmap.js -基于HTML5画布的热图的JavaScript库.
  • jquery.sparkline -jQuery JavaScript库的插件,可直接在浏览器中生成小型迷你图.
  • trianglify -带有d3.js的低多边形样式背景生成器.
  • d3-cloud -用JavaScript创建词云.
  • d4 -D3的友好可重用图表DSL.
  • dimple.js -由d3提供支持的用于业务分析的简单图表.
  • chartist-js -简单的响应式图表.
  • epoch -通用实时图表库.
  • c3 -基于D3的可重用图表库.
  • BabylonJS -使用HTML 5和WebGL构建3D游戏的框架.
  • recharts -使用React和D3构建的重新定义的图表库.
  • GraphicsJS -基于SVG / VML技术的具有直观API的轻量级JavaScript图形库.
  • mxGraph -图表库,可快速创建交互式图形和图表应用程序,该应用程序可在其供应商支持的任何主要浏览器中本地运行.

还有一些很棒的商业图书馆,例如 amchart, anychart, plotlyhighchart.

Timeline

Spreadsheet

  • HANDSONTABLE -Handsontable是面向开发人员的JavaScript / HTML5电子表格库

Editors

  • ace -Ace(Ajax.org Cloud9编辑器).
  • CodeMirror -浏览器内代码编辑器.
  • esprima -ECMAScript解析基础结构,用于多用途分析.
  • quill -带有API的跨浏览器富文本编辑器.
  • medium-editor -Medium.com所见即所得(WYSIWYG)编辑器克隆.
  • pen -享受实时编辑(+ markdown).
  • jquery-notebook -一个简单,干净,优雅的文本编辑器. 受到Medium令人敬畏的启发.
  • bootstrap-wysiwyg -兼容微型引导程序的WYSIWYG富文本编辑器.
  • ckeditor-releases -适合所有人的最佳Web文本编辑器.
  • editor -降价编辑器. 仍在开发中.
  • EpicEditor -具有嵌入式全屏编辑,实时预览,自动草稿保存,离线支持等功能的可嵌入JavaScript Markdown编辑器.
  • jsoneditor -一个基于Web的工具,用于查看,编辑和格式化JSON.
  • vim.js -Vim的JavaScript端口,带有持久的〜/ .vimrc.
  • Squire -HTML5 RTF编辑器.
  • TinyMCE -JavaScript RTF编辑器.
  • trix -用于日常写作的富文本编辑器. 由大本营.
  • Trumbowyg -轻巧而惊人的WYSIWYG JavaScript编辑器.
  • Draft.js -一个用于构建文本编辑器的React框架.
  • bootstrap-wysihtml5 -简单,漂亮的所见即所得编辑器
  • wysihtml5 -基于HTML5和渐进增强方法的开源富文本编辑器. 使用复杂的安全性概念,旨在通过防止无法维护的标签内容和内联样式来生成完全有效的HTML5标记.
  • popline -Popline是HTML5 Rich-Text-Editor工具栏.
  • Summernote -超级简单的所见即所得编辑器.

Documentation

  • DevDocs 是一款具有快速,有条理和一致的界面的多合一API文档阅读器.
  • dexy 是一种自由形式的识字文档工具,用于编写任何包含代码的技术文档.
  • docco is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
  • styledocco 从您的样式表生成文档和样式指南文档.
  • Ronn 建立手册. 它将简单的人类可读文本文件转换为roff以进行终端显示,还转换为HTML以进行网络显示.
  • dox 是用node编写的JavaScript文档生成器. Dox不再为文档生成确定的结构或样式,它只是为您提供JSON表示形式,使您可以使用markdown和JSDoc样式的标签.
  • jsdox 是Markdown的JSDoc3文档生成器.
  • ESDoc 是JavaScript的很好的文档生成器.
  • YUIDoc 是一个Node.js应用程序,它使用类似于Javadoc和Doxygen之类的语法从源注释中生成API文档.
  • coddoc 是一个jsdoc解析库. Coddoc的不同之处在于,它很容易扩展,通过允许用户使用coddoc.addTagHandler和coddoc.addCodeHandler来添加标签和代码解析器. coddoc还解析要在API中使用的源代码.
  • sphinx 一个易于创建智能,精美文档的工具
  • Using JSDoc
  • Beautiful docs 是基于降价文件的文档查看器.
  • documentation.js -API文档生成器,支持ES2015 +和流程注释.
  • jsduck -为Sencha JavaScript框架制作的API文档生成器,但也可用于其他框架.
  • codecrumbs 是用于通过将面包屑放入源代码中来学习和记录代码库的可视化工具.

Files

用于处理文件的库.

  • Papa Parse -强大的CSV库,它支持解析CSV文件/字符串以及导出到CSV.
  • jBinary -使用声明性语法描述文件类型和数据结构的二进制文件的高级I / O(加载,解析,操作,序列化,保存).
  • diff2html -Git diff输出解析器和漂亮的HTML生成器.
  • jsPDF -JavaScript PDF生成.
  • PDF.js -JavaScript中的PDF Reader.

Functional Programming

功能性编程库,可扩展JavaScript的功能.

  • underscore -JavaScript的实用程序_ Belt.
  • lodash -提供一致性,自定义,性能和其他功能的实用程序库.
  • Sugar -用于处理本机对象的JavaScript库.
  • lazy.js -像下划线一样,但更懒惰.
  • ramda -适用于JavaScript程序员的实用功能库.
  • mout -模块化JavaScript实用程序.
  • mesh -流式数据同步实用程序.
  • preludejs -适用于JavaScript的硬核函数式编程.

Reactive Programming

反应性编程库可扩展JavaScript的功能.

  • RxJS -JavaScript的反应式编程库.
  • Bacon -JavaScript的FRP(功能性反应式编程)库.
  • Kefir -受Bacon.js和RxJS启发的JavaScript FRP库,着重于高性能和低内存消耗.
  • Highland -重新思考JavaScript实用程序带,Highland仅使用标准JavaScript和类似Node的流就可以轻松地管理同步和异步代码.
  • Most.js -高性能FRP库.
  • MobX -TFRP库,用于简单,可扩展的状态管理.
  • Cycle.js -具有功能性和反应性的JavaScript库,用于编写更清晰的代码.

Data Structure

数据结构库,用于构建更复杂的应用程序.

  • immutable-js -不可变的数据集合,包括序列,范围,重复,图,OrderedMap,集合和稀疏向量.
  • mori -一个库,用于使用ClojureScript的持久数据结构并从原始JavaScript的舒适性中支持API.
  • buckets -用JavaScript编写的完整,经过全面测试和记录的数据结构库.
  • hashmap -支持任何类型键的简单哈希图实现.

Date

日期库.

  • moment -使用JavaScript解析,验证,操作和显示日期.
  • moment-timezone -对moment.js的时区支持.
  • jquery-timeago -一个jQuery插件,可轻松支持自动更新模糊时间戳(例如“ 4分钟前”).
  • timezone-js -启用了时区的JavaScript Date对象. 使用Olson zoneinfo文件获取时区数据.
  • date -对人类的Date().
  • ms.js -微小的毫秒转换工具.
  • countdown.js -超级简单的倒计时.
  • timeago.js -简单的库(小于2kb),用于使用“ *** time ago”语句格式化日期.
  • fecha -轻量级日期格式和解析(〜2KB). 旨在替换moment.js的解析和格式化功能.
  • date-fns -现代JavaScript日期实用程序库.
  • map-countdown -建立在Google地图之上的浏览器倒计时.
  • dayjs -具有相同现代API的Moment.js的Day.js 2KB不可变日期库.

String

字符串库.

  • voca -终极的JavaScript字符串库
  • selecting -一个允许您访问用户选择的文本的库.
  • underscore.string -Underscore.js JavaScript库的字符串操作扩展.
  • string.js -额外的JavaScript字符串方法.
  • he -用JavaScript编写的健壮的HTML实体编码器/解码器.
  • multiline -JavaScript中的多行字符串.
  • query-string -解析和字符串化URL查询字符串.
  • URI.js -JavaScript URL突变库.
  • jsurl -使用JavaScript进行轻量级URL操作.
  • sprintf.js -sprintf实现.
  • url-pattern -网址和其他字符串比正则表达式字符串匹配模式更容易. 将字符串转换为数据或将数据转换为字符串.
  • plexis -Lo-fi,功能强大,由社区驱动的字符串处理库.

Number

  • Numeral-js -用于格式化和处理数字的JavaScript库.
  • chance.js -JavaScript中的随机生成器帮助器. 可以生成数字,字符串等
  • odometer -轻松平滑地过渡数字.
  • accounting.js -用于数字,货币和货币格式的轻量级JavaScript库-完全可本地化,零依赖性.
  • money.js -一个很小的(1kb)JavaScript货币转换库,用于Web和nodeJS.
  • Fraction.js -JavaScript的合理数字库.
  • Complex.js -JavaScript的复杂数字库.
  • Polynomial.js -JavaScript的多项式库.

Storage

  • store.js -适用于所有浏览器的LocalStorage包装器,无需使用Cookie或Flash. 在后台使用localStorage,globalStorage和userData行为.
  • localForage -离线存储,已改进. 使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage.
  • jStorage -jStorage是一个简单的键/值数据库,用于在浏览器端存储数据.
  • cross-storage -跨域本地存储,具有权限.
  • basket.js -脚本和资源加载器,用于通过localStorage缓存和加载脚本.
  • bag.js -缓存脚本和资源加载器,类似于basket.js,但具有附加的k / v接口和localStorage / websql / indexedDB支持.
  • basil.js -缺少JavaScript智能持久层.
  • jquery-cookie -一个简单,轻巧的jQuery插件,用于读取,编写和删除cookie.
  • js-cookie -一个简单,轻巧的JavaScript API,用于处理浏览器cookie.
  • Cookies -JavaScript客户端Cookie操纵库.
  • DB.js -基于Promise的IndexDB包装器库.
  • lawnchair.js -简单的客户端JSON存储.
  • sql.js -通过Emscripten将SQLite编译为JavaScript.
  • crumbsjs -轻巧的香草ES6 Cookie和本地存储JavaScript库.

Color

  • randomColor -JavaScript的颜色生成器.
  • chroma.js -用于各种颜色处理的JavaScript库.
  • color -JavaScript颜色转换和操作库.
  • colors -网络上颜色的默认设置更智能.
  • PleaseJS -JavaScript库,用于创建随机的令人愉悦的颜色和配色方案.
  • TinyColor -快速,小巧的颜色处理和JavaScript转换.
  • Vibrant.js -从图像中提取突出的颜色.

I18n And L10n

本地化(l10n)和国际化(i18n)JavaScript库.

  • i18next -使用JavaScript轻松实现国际化(i18n).
  • polyglot - tiny i18n helper library.
  • babelfish -具有人类友好API的i18n,并内置复数支持.
  • ttag -基于ES6标签模板和良好的旧GNU gettext的现代javascript i18n本地化库.

Control Flow

  • async -用于节点和浏览器的异步实用程序.
  • q -一种用于在JavaScript中进行异步约定的工具.
  • step -异步控制流库,使逐步学习逻辑变得容易.
  • contra -具有功能趣味的异步流控制.
  • Bluebird -功能齐全的承诺库,侧重于创新功能和性能.
  • when -可靠,快速的Promises / A +和when()实现,以及其他异步工具.
  • ObjectEventTarget -提供一个为事件侦听器添加支持的原型(与浏览器上可用的DOMElements中的EventTarget行为相同).
  • sporadic -在Promise之上,针对Node和浏览器引擎的可组合并发抽象(例如流,协程和类似Go的通道).

Routing

  • director -用于JavaScript的小型同构URL路由器.
  • page.js -受Express路由器启发的微型客户端路由器(〜1200字节).
  • pathjs -用于Web浏览器的简单,轻量级路由.
  • crossroads -JavaScript路由.
  • davis.js -使用pushState的RESTful可降解JavaScript路由.
  • navaid -850字节的浏览器导航工具(又名路由器)〜!

Security

  • DOMPurify -用于HTML,MathML和SVG的纯DOM,超快速,超耐性XSS消毒剂.
  • js-xss -使用白名单指定的配置对不受信任的HTML进行清理(以防止XSS).
  • xss-filters -Yahoo提供的安全XSS过滤器.

Log

  • log -具有样式的Console.log.
  • Conzole -内置JavaScript的调试面板,可将JavaScript本机控制台对象的方法和功能包装在页面内显示的面板中.
  • console.log-wrapper -清晰地在任何浏览器中登录到控制台.
  • loglevel -最小的JavaScript轻量级日志记录,添加了可靠的日志级别方法来包装任何可用的console.log方法.
  • minilog –带有Stream-API后端的轻量级客户端和服务器端日志记录.
  • storyboard -通用日志库+ Chrome扩展程序; 它使您可以在一个位置查看由用户操作触发的所有客户端和服务器任务.

RegExp

  • RegEx101 -JavaScript的在线正则表达式测试器和调试器. 还支持Python,PHP和PCRE.
  • RegExr -基于HTML / JS的工具,用于创建,测试和学习正则表达式.
  • RegExpBuilder -使用链式方法创建正则表达式.

Voice Command

  • annyang -一个JavaScript库,用于使用语音识别功能向您的网站添加语音命令.
  • voix.js -一个JavaScript库,可向您的网站,应用或游戏添加语音命令.

API

  • axios -用于浏览器和node.js的基于Promise的HTTP客户端.
  • bottleneck - A powerful rate limiter that makes throttling easy.
  • oauth-signature-js -用于节点和浏览器的JavaScript OAuth 1.0a签名生成器.
  • amygdala -适用于JavaScript的Web应用程序的RESTful HTTP客户端.
  • jquery.rest -易于使用RESTful API的jQuery插件.
  • Rails Ranger -一个针对Ruby on Rails API的自以为是的REST客户端.
  • wretch -使用直观的语法围绕获取构建的小型包装器.
  • Bearer.sh -支持OAuth / API密钥/基本等的通用API客户端.

Streaming

  • Tailor -受Facebook BigPipe启发,用于前端微服务的流式布局服务.

Vision Detection

  • tracking.js -网络上计算机视觉的现代方法.
  • ocrad.js -通过Emscripten在JavaScript中进行OCR.

Machine Learning

  • ConvNetJS -使用JavaScript进行深度学习. 在浏览器中训练卷积神经网络(或普通的).
  • DN2A -数字神经网络架构.
  • Brain.js -JavaScript中的神经网络.
  • Mind.js -灵活的神经网络库.
  • Synaptic.js -适用于node.js和浏览器的无体系结构神经网络库.
  • TensorFlow.js -一个JavaScript库,用于在浏览器和Node.js上训练和部署ML模型.
  • ml5.js -友好的网络机器学习.

Browser Detection

Benchmark

  • benchmark.js -基准测试库. 如jsPerf.com上所使用.
  • matcha -咖啡因驱动的简化基准测试方法.

Code highlighting

  • Highlight.js -JavaScript语法荧光笔.
  • PrismJS -轻巧,健壮,优雅的语法高亮显示.

Loading Status

用于指示负载状态的库.

  • Mprogress.js -创建Google Material Design进度线性条.
  • NProgress -适用于Ajax'y应用程序的超长进度条.
  • Spin.js -旋转活动指示器.
  • progress.js -为页面上的每个对象创建和管理进度栏.
  • progressbar.js -带有动画SVG路径的漂亮且反应灵敏的进度条.
  • pace -自动将进度条添加到您的网站.
  • topbar -微小而美观的站点范围进度指示器.
  • nanobar -非常轻量级的进度条. 没有jQuery.
  • SpinKit -带有CSS动画的加载指示器的集合.
  • Ladda -带有内置加载指示器的按钮.
  • css-loaders -用CSS动画制作的加载微调器集合

除了图书馆,还有 Collection on Codepen,以及类似的生成器 Ajaxload, PreloadersCSSLoad.

Validation

  • Parsley.js -验证表单,前端,而无需编写任何JavaScript.
  • jquery-validation -jQuery验证插件.
  • validator.js -字符串验证和清理.
  • validate.js -受CodeIgniter启发的轻量级JavaScript表单验证库.
  • validatr -跨浏览器HTML5表单验证.
  • FormValidation -验证表单字段的最佳jQuery插件. 以前是BootstrapValidator.
  • is.js -检查类型,正则表达式,状态,时间等.
  • FieldVal -多功能验证库. 支持同步和异步验证.

Keyboard Wrappers

  • mousetrap -用于处理JavaScript中的键盘快捷键的简单库.
  • keymaster -一个简单的微库,用于定义和分配键盘快捷键.
  • Keypress -键盘输入捕获实用程序,其中任何键都可以是修饰键.
  • KeyboardJS -一个用于绑定键盘组合的JavaScript库,而不会造成键代码和键组合冲突的困扰.
  • jquery.hotkeys -jQuery Hotkeys使您可以在代码中的任何地方监视键盘事件,从而支持几乎任何按键组合.
  • jwerty -出色的键盘事件处理.

Tours And Guides

  • intro.js -为网站和项目提供新功能介绍和逐步用户指南的更好方法.
  • shepherd -引导用户浏览您的应用程序.
  • bootstrap-tour -使用Twitter Bootstrap Popovers轻松快速地进行产品浏览.
  • tourist -为您的应用提供简单灵活的导览.
  • chardin.js -适用于您的应用程序的简单叠加说明.
  • pageguide -使用jQuery和CSS3的网页元素的交互式指南.
  • hopscotch -一个框架,使开发人员可以轻松地向其页面添加产品浏览.
  • joyride -jQuery功能导览插件.
  • focusable -将焦点放在DOM元素上,向页面的其余部分添加一个叠加层.
  • driver.js -强大而轻巧的原始JavaScript引擎,可在页面上吸引用户的注意力

Notifications

  • iziToast -优雅,响应迅速,灵活轻便的通知插件,无依赖性.
  • messenger -为您的应用发出怒吼式的警报和消息.
  • noty -jQuery通知插件.
  • pnotify -用于Bootstrap,jQuery UI和Web通知草稿的JavaScript通知.
  • toastr -简单的JavaScript敬酒通知.
  • humane-js -一个简单,现代的浏览器通知系统.
  • smoke.js -与JavaScript框架无关的样式警报系统.
  • notie -简单的通知和输入,没有依赖关系.

Sliders

  • Swiper -带有硬件加速过渡的移动触摸滑块和框架.
  • slick -您将需要的最后一个轮播.
  • slidesJs -是用于JQuery(1.7.1+)的自适应幻灯片演示插件,具有触摸和CSS3过渡等功能
  • FlexSlider -出色的,响应迅速的jQuery滑块插件.
  • unslider -最简单的jQuery滑块.
  • sly -JavaScript库,用于基于项目导航的单向滚动.
  • vegas -一个jQuery插件,可向您的网页添加漂亮的全屏背景. 它甚至允许幻灯片放映.
  • Sequence -CSS动画框架,用于创建响应式滑块,演示文稿,横幅和其他基于步骤的应用程序.
  • reveal.js -使用HTML轻松创建漂亮的演示文稿的框架.
  • impress.js -这是一个基于CSS3转换和转换功能的演示框架,其灵感来自于prezi.com背后的思想.
  • bespoke.js -DIY演示微框架
  • Strut -Strut-Impress.js和Bespoke.js演示文稿编辑器
  • PhotoSwipe -适用于移动设备和台式机的JavaScript图片库,模块化,独立于框架.
  • jcSlider -带有CSS动画的自适应滑块jQuery插件.
  • basic-jquery-slider -使用简单,主题简单,易于定制.
  • jQuery.adaptive-slider -带有自适应彩色figcaption和导航的滑块的jQuery插件.
  • slidr -添加一些幻灯片效果.
  • Flickity -触摸式,反应灵敏,轻柔的画廊.
  • Glide.js -响应式且触摸友好的jQuery滑块. 它简单,轻巧且快速.
  • jQuery.adaptive-slider -带有自适应彩色figcaption和导航的滑块的jQuery插件.
  • Embla Carousel -用TypeScript编写的可扩展的Web底层轮播.

Range Sliders

  • Ion.RangeSlider -功能强大且易于自定义的范围滑块,具有许多选项和皮肤支持.
  • jQRangeSlider -支持日期的JavaScript滑块选择器.
  • noUiSlider -轻巧,高度可定制的范围滑块,不会膨胀.
  • rangeslider.js -HTML5输入范围滑块元素polyfill.

Form Widgets

Input

  • typeahead.js -快速且功能齐全的自动完成库.
  • tag-it -一个jQuery UI插件,用于处理多标签字段以及标签建议/自动完成功能.
  • At.js -将类似提及自动完成的GitHub添加到您的应用程序.
  • Placeholders.js -用于HTML5占位符属性的JavaScript polyfill.
  • fancyInput -通过CSS3效果使输入字段的输入变得有趣.
  • jQuery-Tags-Input -使用此jQuery插件将简单的文本输入神奇地转换为很酷的标签列表.
  • vanilla-masker - A pure JavaScript mask input.
  • Ion.CheckRadio -jQuery插件,用于设置复选框和单选按钮的样式. 有皮肤支持.
  • awesomplete -超轻巧,可用,美观的自动完成功能,零依赖. -http://leaverou.github.io/awesomplete

Calendar

  • pickadate.js -移动友好,响应迅速且轻巧的jQuery日期和时间输入选择器.
  • bootstrap-datepicker -由Stefan Petre(来自eyecon.ro)派生的@twitter引导程序日期选择器,通过@eternicode进行了改进.
  • Pikaday -令人耳目一新的JavaScript Datepicker —轻巧,没有依赖关系,模块化CSS.
  • fullcalendar -完整的拖放事件日历(jQuery插件).
  • rome -可自定义的日期(和时间)选择器. 无依赖关系的可选用户界面.
  • datedropper -datedropper是一个jQuery插件,它提供了一种快速简便的方法来管理输入字段的日期.

Select

  • selectize.js -Selectize是文本框和选择框的混合体. 它基于jQuery,具有自动完成功能和本机感觉的键盘导航; 用于标记,联系人列表等.
  • select2 -基于jQuery的选择框替换. 它支持搜索,远程数据集和结果无限滚动.
  • chosen -一个用于使长而笨拙的选择框更友好的库.

File Uploader

  • jQuery-File-Upload -具有多个文件选择,拖放支持,进度栏,验证和预览图像,jQuery音频和视频的文件上传小部件.
  • dropzone -Dropzone是易于使用的拖放库. 它支持图像预览并显示不错的进度条.
  • flow.js -一个JavaScript库,可通过HTML5 File API提供多个同时,稳定,容错和可恢复/可重启的文件上传.
  • fine-uploader -具有进度条,拖放,直接到S3上传的多个文件上传插件.
  • FileAPI -一组用于处理文件的JavaScript工具. 多重上传,拖放和分块文件上传. 图片:通过EXIF裁剪,调整大小和自动定向.
  • plupload -用于处理文件上传的JavaScript API,它支持多个文件选择,文件类型过滤,请求分块,客户端图像缩放等功能,并且使用不同的运行时来实现此功能,例如HTML 5,Silverlight和Flash.

Other

  • form -jQuery表单插件.
  • Garlic.js -自动保留表单的文本并在本地选择字段值,直到提交表单.
  • Countable -一个JavaScript函数,可将实时的段落,单词和字符计数添加到HTML元素中.
  • card -只需一行代码即可使您的信用卡表格更好.
  • stretchy -表单元素自动调整大小,应采用的方式.
  • analytics -轻巧,可扩展的分析库,旨在与任何第三方分析提供商一起使用,以跟踪页面浏览,自定义事件并识别用户.

Tips

  • tipsy -Facebook风格的jQuery工具提示插件.
  • opentip -基于原型框架的开源JavaScript工具提示.
  • qTip2 -非常强大的工具提示.
  • tooltipster -jQuery工具提示插件.
  • simptip -使用Sass制作的简单CSS工具提示.
  • jquery-popup-overlay -jQuery插件,用于响应式和可访问的模态窗口和工具提示.
  • toolbar -工具提示样式的工具栏jQuery插件
  • hint.css -CSS中的工具提示库,用于您可爱的网站.

Modals and Popups

  • Magnific-Popup -专注于性能的轻便响应式灯箱脚本.
  • jquery-popbox -jQuery PopBox UI元素.
  • jquery.avgrund.js -带有用于弹出窗口的新模式概念的jQuery插件.
  • vex -高度可配置且易于样式设置的现代对话框库.
  • bootstrap-modal -扩展默认的Bootstrap Modal类. 响应式,可堆叠,ajax等.
  • css-modal -基于纯CSS构建的模式.
  • jquery-popup-overlay -jQuery插件,用于响应式和可访问的模态窗口和工具提示.
  • SweetAlert -真棒替代JavaScript的警报.
  • baguetteBox.js -用纯JavaScript编写的简单易用的灯箱脚本.
  • colorbox -轻巧,可定制的jQuery灯箱插件.
  • swipebox -可触摸的jQuery灯箱
  • jBox -jBox是一个功能强大且灵活的jQuery插件,可以处理所有弹出窗口,工具提示,通知等.

Scroll

  • scrollMonitor -一种简单快速的API,可在您滚动时监视元素.
  • headroom -给页面留出一些空间. 隐藏标题,直到需要它为止.
  • onepage-scroll -使用“一页滚动”插件创建一个类似苹果的一页滚动器网站(iPhone 5S网站).
  • iscroll -iScroll是一种高性能,占用空间小,无依赖项的多平台JavaScript滚动器.
  • skrollr -适用于移动设备(Android + iOS)和台式机的独立视差滚动库. 没有jQuery.
  • parallax -对智能设备的方向做出反应的视差引擎.
  • stellar.js -视差滚动变得容易.
  • plax -jQuery驱动的视差.
  • jparallax -jQuery插件,用于创建交互式视差效果.
  • fullPage -一个简单易用的插件来创建全屏滚动网站(也称为单页网站).
  • ScrollMenu -替代旧的无聊滚动条的新界面.
  • Clusterize.js -Tiny Vanilla JS插件,可轻松显示大数据集.
  • simpleParallax -简单而又小的JavaScript库,可在任何图像上添加视差动画
  • jQuery-menu-aim -jQuery插件,当用户的光标指向特定的下拉菜单项时触发事件. 用于做出像Amazon这样的响应式超级下拉菜单.
  • jQuery contextMenu -contextMenu管理器.
  • Slideout -用于移动Web应用程序的响应式触摸滑出导航菜单.
  • Slide and swipe -与touchSwipe库一起使用的滑动式滑动菜单.

Table/Grid

  • jTable -一个jQuery插件,用于创建基于AJAX的CRUD表.
  • DataTables -(jQuery插件)这是一个高度灵活的工具,基于逐步增强的基础,并将向任何HTML表添加高级交互控件.
  • Tabulator -(jQuery插件)一种非常灵活的库,可以从任何JSON数据源或现有HTML表创建具有一系列交互功能的表.
  • Bootstrap Table -流行的Bootstrap框架的扩展,用于创建适合您站点样式的表,而无需其他标记.
  • floatThead -(jQuery插件)在正文中滚动时锁定任何表的标题. 适用于任何表,不需要自定义html或css.
  • Masonry -级联的网格布局库.
  • Packery -使用bin打包算法的网格布局库. 可用于可拖动的布局.
  • Isotope -可过滤,可排序的网格布局库. 可以实现石工,包装厂和其他布局.
  • flexboxgrid -基于CSS3 flexbox的网格.

Frameworks

  • Semantic UI -具有很多主题和元素的UI套件.
  • w2ui -一组jQuery插件,用于数据驱动的Web应用程序的前端开发.
  • fluidity -世界上最小的全响应式CSS框架.
  • Ink -SAPO使用的HTML5 / CSS3框架,用于快速,高效的网站设计和原型制作.

Boilerplates

  • html5-boilerplate -专业的前端模板,用于构建快速,健壮和适应性强的Web应用程序或网站.
  • mobile-boilerplate -前端模板,可帮助您构建快速,现代的移动Web应用程序.
  • webplate -强大的前端框架,可让您专注于构建网站或应用程序,同时保持真正的易用性.
  • Cerberus -响应HTML电子邮件的一些简单但可靠的模式. 即使在Outlook中.
  • full-page-intro-and-navigation -简介页面,具有全角背景图片,大胆的动画菜单以及导航后的类似iOS的模糊效果.
  • Fluid-Squares -正方形单位的流体网格.
  • Mobile-First-RWD -移动优先响应式网页设计的示例.
  • this-is-responsive -这是回应性的.
  • npm run-scripts 使用NPM运行脚本实现任务自动化.

Gesture

Maps

  • Leaflet -用于移动友好型交互式地图的JavaScript库.
  • Cesium -开源WebGL虚拟地球仪和地图引擎.
  • gmaps -使用Google地图的最简单方法.
  • polymaps -一个免费的JavaScript库,用于在现代Web浏览器中制作动态的交互式地图.
  • kartograph.js -用于Kartograph SVG地图的开源JavaScript渲染器.
  • mapbox.js -Mapbox JavaScript API,一个传单插件.
  • jqvmap -jQuery矢量地图库.
  • OpenLayers3 -高性能,功能丰富的库,可满足您所有的映射需求.

Video/Audio

  • prettyembed.js -适用于YouTube的更漂亮的嵌入-具有精美的选项,例如高分辨率预览图像,嵌入选项的高级自定义以及可选的FitVids支持.
  • html5media -启用
  • Play-em JS - Play'em is a JavaScript component that manages a music/video track queue and plays a sequence of songs by embedding several players in a HTML DIV including Youtube, Soundcloud and Vimeo.
  • polyplayer -使用一个API统治YouTube,Soundcloud和Vimeo播放器.
  • flowplayer -用于网络的HTML5视频播放器 https://flowplayer.org/
  • mediaelement -HTML5
  • SoundJS -一个库,可以更轻松地处理网络音频. 它提供了一致的API,可在不同的浏览器中播放音频.
  • video.js -Video.js-开源HTML5和Flash视频播放器.
  • FitVids.js -轻巧,易于使用的jQuery插件,用于视频宽度嵌入.
  • Ion.Sound -任何网页上的声音都很简单.
  • photobooth-js -允许用户在您的网站上拍摄头像图片的小部件.
  • clappr -Web http://clappr.io的可扩展媒体播放器

Typography

  • FlowType.JS -最好的Web排版:基于元素宽度的字体大小和行高.
  • BigText -jQuery插件,计算将一行文本匹配到特定宽度所需的字体大小和字距.
  • circletype -一个jQuery插件,可让您在网络上弯曲文字.
  • slabText -一个jQuery插件,用于产生大型,大胆且响应迅速的标题.
  • simple-text-rotator -在您的网站上添加几乎没有标记的超简单旋转文本.
  • novacancy.js -文字Neon Golden效果jQuery插件.
  • jquery-responsive-text -使您的文本大小响应!
  • FitText.js -一个用于扩展Web类型的jQuery插件.
  • Lettering.js -轻巧,易于使用的JavaScript` 注入器,用于基本Web排版.

Animations

Image Processing

  • lena.js -使用过滤器和util函数进行图像处理的库.
  • pica -高质量的图像调整大小(带有快速Lanczos滤镜,以纯JS实现).
  • cropper -一个简单的jQuery图像裁剪插件.

ES6

Generators

  • Gatsby.js -基于React的静态网站生成器.
  • Gridsome -Vue供电的静态站点生成器.

SDK

Misc

  • echo -延迟加载具有data- *属性的图像.
  • picturefill - A responsive image polyfill for <picture>, srcset, sizes.
  • platform.js -几乎可以在所有JavaScript平台上运行的平台检测库.
  • json3 -与几乎所有JavaScript平台兼容的现代JSON实现.
  • Logical Or Not - A game about JavaScript specificities.
  • BitSet.js -JavaScript位向量实现
  • spoiler-alert -警惕! 一个快乐的小jquery插件,用于在您的网站上隐藏剧透.
  • jquery.vibrate.js -振动API包装器
  • list.js -为表格,列表和各种HTML元素增加了搜索,排序,过滤器和灵活性. 构建为不可见并可以在现有HTML上使用. http://www.listjs.com
  • mixitup -MixItUp-筛选和排序插件.
  • grid -用于二维,可调整大小和响应式列表的拖放库.
  • jquery-match-height -jQuery的响应式等高插件.
  • survey.js -JavaScript Survey Engine. 它使用JSON来提供调查元数据和结果. http://surveyjs.org/
  • Array ExplorerObject Explorer -可帮助您确定在任何给定时间最好使用哪种本机JavaScript方法的资源
  • Clipboard.js -不使用Flash或使用Framework的“复制到剪贴板”.
  • ky -基于浏览器Fetch API的小巧优雅的HTTP客户端.
  • Fcal -数学表达式评估器

Podcasts

  • JavaScript Air -有关JavaScript和Web平台的实时视频广播播客.
  • Web of Tomorrow -面向初学者的JavaScript播客.
  • JavaScript Jabber -关于JavaScript的每周播客,包括Node.js,前端技术,职业,团队等.

Worth Reading

Other Awesome Lists

Contributing

欢迎捐款! 阅读 contribution guidelines 第一.

License

CC0

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