包管理器

管理着 JavaScript 库,并提供读取和打包它们的工具。


  • npm:npm 是 JavaScript 的包管理器。​​官网​
  • Bower:一个 web 应用的包管理器。​​官网​
  • component:能构建更好 web 应用的客户端包管理器。​​官网​
  • spm:全新的静态包管理器。​​官网​
  • jam:一个专注于浏览器端和兼容 RequireJS 的包管理器。​​官网​
  • jspm:流畅的浏览器包管理器。​​官网​
  • Ender:没有库文件的程序库。​​官网​
  • volo:以项目模板、添加依赖项与自动化生成的方式创建前端项目。​​官网​
  • Duo:一个整合 Component、Browserify 和 Go ​​官网​​的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。

加载器

JavaScript 的模块或加载系统。


  • RequireJS:JavaScript 文件和模块的加载器。​​官网​
  • browserify:在浏览器端以 node.js 的方式 require()。​​官网​
  • SeaJS:用于 Web 的模块加载器。​​官网​
  • HeadJS:HEAD 的唯一脚本。​​官网​
  • curl:小巧、快速且易扩展的模块加载器,它能处理 AMD、CommonJS Modules/1.1、CSS、HTML/text 和历史脚本。​​官网​
  • lazyload:小巧且无依赖的异步 JavaScript 和 CSS 加载器。​​官网​
  • script.js:异步 JavaScript 加载器和依赖管理器。​​官网​
  • systemjs:AMD、CJS(commonJS) 和符合 ES6 规范的模块加载器。​​官网​
  • LodJS:基于 AMD 的模块加载器。​​官网​
  • ESL:浏览器端的模块加载器,支持延迟定义和 AMD。​​官网​
  • modulejs:轻量的 JavaScript 模块系统。​​官网​

打包工具


  • browserify :Browserify 让你能在浏览器端使用 require('modules') ,打包所有依赖。​​官网​
  • webpack:为浏览器打包 CommonJs/AMD 模块。​​官网​
  • gulp:用自动化构建工具增强你的工作流程!​​官网​
  • rollup: JavaScript 模块打包器! ​​官网​​​ ​​中文​

测试框架

框架


  • mocha:适用于 node.js 和浏览器、简易、灵活、有趣的 JavaScript 测试框架。​​官网​
  • jasmine:简单无 DOM 的 JavaScript 测试框架。​​官网​
  • qunit:一个易于使用的 JavaScript 单元测试框架。​​官网​
  • jest:简单的 JavaScript 单元测试框架。​​官网​
  • prova:基于 Tape 和 Browserify 的测试运行器,它适用于 Node & 浏览器。​​官网​
  • DalekJS:自动化且跨浏览器的 JavaScript 功能测试框架。​​官网​

断言


  • chai:适用于 node.js 和浏览器的 BDD / TDD 断言框架,并能搭配其它测试框架使用。​​官网​
  • Sinon.JS:对 JavaScript 进行 spies、stubs 和 mock 测试。​​官网​
  • expect.js:简约的、适用于 Node.js 和浏览器端的 BDD 式断言工具。​​官网​
  • should.js:适用于 Node.js 的 BDD 式断言工具。​​官网​

覆盖率


  • istanbul:另一个 JS 代码覆盖率检测工具。​​官网​
  • blanket:一个简单的代码覆盖率检测库。它的设计理念是易于安装和使用,且可用于浏览器端和 node.js。​​官网​
  • JSCover:JSCover 是一个检测 JavaScript 程序代码覆盖率的工具。​​官网​

运行器


  • phantomjs:脚本化的 Headless WebKit。​​官网​
  • slimerjs:一个内核为 Gecko 的类似 PhantomJS 工具。​​官网​
  • casperjs:基于 PhantomJS 和 Slimer JS 的导航脚本和测试工具。​​官网​
  • zombie:基于 node.js 、快速、全栈且无图形界面的浏览器的测试工具。​​官网​
  • totoro:一个简单可靠且能跨浏览器运行的测试工具。​​官网​
  • karma:一个优秀的的 JavaScript 测试运行器。​​官网​
  • nightwatch:基于 node.js 和 selenium webdriver 的图形界面自动化测试框架。​​官网​
  • intern:下一代 JavaScript 代码测试栈。​​官网​
  • yolpo:在浏览器逐句执行的 JavaScript 解释器。​​官网​

QA 工具


  • JSHint:JSHint 是一个有助于发现 JavaScript 代码错误和潜在问题的工具。​​官网​
  • jscs:JavaScript 代码风格检测工具。​​官网​
  • jsfmt:格式化、搜索和改写 JavaScript。​​官网​
  • jsinspect:检测复制粘贴和结构类似的代码。​​官网​
  • buddy.js:发现 JavaScript 代码里的 ​​魔术数字​​​。​​官网​
  • ESLint:完全插件化的工具,能在 JavaScript 中识别和记录模式。​​官网​
  • JSLint :高标准、严格和固执的代码质量工具,旨在只保持语言的优良部分。​​官网​

MVC 框架和库


  • ​angular.js​​​:为网络应用增强 HTML。​​官网​
  • aurelia:一个适用于移动设备、桌面电脑和 web 的客户端 JavaScript 框架。​​官网​
  • backbone:给你的 JS 应用加入带有 Models、Views、Collections 和 Events 的 Backbone。​​官网​
  • batman.js:最适合 Rails 开发者的 JavaScript 框架。​​官网​
  • ember.js:一个旨在创建非凡 web 应用的 JavaScript 框架。​​官网​
  • meteor:一个超简单的、数据库无处不在的、只传输数据的纯 JavaScript web 框架。​​官网​
  • ractive:新一代 DOM 操作。​​官网​
  • vue:一个用于构建可交互界面的、直观快速和可组合的 MVVM 框架。​​官网​
  • knockout:Knockout 用 JavaScript 让创建响应式的富 UI 更加容易。​​官网​
  • spine:构建 JavaScript 应用的轻量 MVC 库。​​官网​
  • espresso.js:一个极小的、用于制作用户界面的 JavaScript 库。​​官网​
  • canjs:让 JS 更好、更快、更简单。​​官网​
  • react:用于建构用户界面的库。它是声明式的、高效的和极度灵活的,并使用虚拟 DOM 作为其不同的实现。​​官网​
  • react-native:一个用 React 构建原生应用的框架。​​官网​
  • riot:类 React 库,但很轻量。​​官网​
  • thorax:加强你的 Backbone。​​官网​
  • chaplin:使用 Backbone.js 库的 JavaScript 应用架构。​​官网​
  • marionette:一个 Backbone.js 的复合应用程序库,旨在简化大型 JavaScript 应用结构。​​官网​
  • ripple:一个小巧的、用于构建响应界面的基础框架。​​官网​
  • rivets:轻量却拥有强大的数据绑定和模板解决方案​​官网​
  • derby:让编写实时和协同应用更简单的 MVC 框架,能够在 Node.js 和浏览器同时运行。​​官网​

  • derby-awesome:很棒的 derby 组件集合。​​官网​

  • ​way.js​​​:简单、轻量、持久化的双向数据绑定。​​官网​
  • mithril.js:Mithril 是一个客户端 MVC 框架(轻量、强大和快速)​​官网​
  • jsblocks:jsblocks 是一个更好的 MV-ish 框架。​​官网​
  • LiquidLava:易懂的、用于构建用户界面的 MVC 框架。​​官网​
  • ​Electron​​​:用Html、CSS和JavaScript构建跨平台的客户端应用程序。​​官网​​​、​​GitHub​

基于 Node 的 CMS 框架


  • KeystoneJS:强大的 CMS 和 web 应用框架。​​官网​
  • Reaction Commerce:拥有实时的架构和设计的响应式(reactive) CMS。​​官网​
  • Ghost:简单、强大的发布平台。​​官网​
  • Apostrophe:提供内容编辑和基本服务的 CMS。​​官网​
  • We.js:适用于实时应用、网站或博客的框架。​​官网​
  • Hatch.js:拥有社交特性的 CMS 平台。​​官网​
  • TaracotJS:拥有快速、极简风格特点且基于Node.js 的 CMS。​​官网​
  • Nodizecms:为 CoffeeScript 爱好者准备的 CMS。​​官网​
  • Cody:拥有所见即所得的编辑器的 CMS。​​官网​
  • PencilBlue:CMS 和博客平台。​​官网​

模板引擎

模板引擎允许您执行字符串插值。


  • mustache.js:是 JavaScript 中带有 {{mustaches}} 的最简模板。​​官网​
  • handlebars.js:是 Mustache 模板语言的扩展。​​官网​
  • hogan.js:是 Mustache 模板语言的编译器。​​官网​
  • doT:最快速简洁的 JavaScript 模板引擎,适用于 nodejs 和浏览器。​​官网​
  • dustjs:适用于浏览器和 node.js 的异步模板。​​官网​
  • eco:嵌入式的 CoffeeScript 模板。​​官网​
  • JavaScript-Templates:轻量(小于 1KB)、快速且无依赖的强大 JavaScript 模版引擎。​​官网​
  • t.js:小巧的 JavaScript 模板框架,压缩后约为 400 字节。​​官网​
  • pug:健壮的、优雅且功能丰富的 nodejs 模板引擎。​​官网​
  • EJS:高效的 JavaScript 模板。​​官网​
  • xtemplate:可扩展的模板引擎,适用于 node 和浏览器。​​官网​
  • marko:快速轻量且基于 HTML 的模板引擎,支持异步、流、自定义标签和 CommonJS 模编译后输出。适用于 Node.js ​​官网​​和浏览器。

Flux

Flux是Facebook用来构建客户端Web应用的应用架构


  • Reflux是根据React的flux创建的单向数据流类库。​​官网​
  • Redux是可预测javascript应用程序状态的容器。​​官网​
  • Mobx是通过透明的函数响应式编程实现简单,可扩展的状态管理库。​​官网​
  • Dva是基于Redux, Redux-saga 和 ​​react-router@2.x​​​的轻量级的框架。​​官网​

数据可视化

Web 数据可视化工具


  • d3:一个对 HTML 和 SVG 进行可视化的 JavaScript 库。​​官网​
  • metrics-graphics:更简洁和拥有更规范的数据图表布局优化算法的库。​​官网​
  • pykcharts.js:经过精心设计后,去除 d3.js 复杂性的 d3.js 图表库。​​官网​
  • ​three.js​​​:JavaScript 3D 库。​​官网​
  • Chart.js:简单的、基于 canvas 标签的 HTML5 图表库。​​官网​
  • paper.js:是矢量图形脚本中的瑞士军刀 —— 使用 HTML5 Canvas 将 Scriptographer 移植到 JavaScript ​​官网​​和浏览器。
  • fabric.js:JavaScript Canvas 库,SVG 与 Canvas 可以相互解析。​​官网​
  • peity:进度条、线状和饼状图。​​官网​
  • raphael:JavaScript 矢量库。​​官网​
  • echarts:商业产品图表。​​官网​
  • vis:动态的、基于浏览器的可视化库。​​官网​
  • two.js:一个渲染器无关的适用于 web 的二维绘图 api 。​​官网​
  • g.raphael:基于 Raphaël 图表库。​​官网​
  • sigma.js:一个致力于图形绘画的 JavaScript 库。​​官网​
  • arbor:一个使用 web workers 和 jQuery 的图形可视化库。​​官网​
  • cubism:可视化时间序列的 D3 插件。​​官网​
  • dc.js:与 crossfilter 无缝合作的多维图表绘制库,使用 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 canvas 的热力图 JavaScript 库。​​官网​
  • jquery.sparkline:一个直接在浏览器端生成小型走势图的 jQuery 插件。​​官网​
  • xCharts:一个基于 D3、用于构建自定义图表和图形的库。​​官网​
  • trianglify:基于 d3.js 的低多边形(low poly)风格背景图片生成器。​​官网​
  • d3-cloud:创建词云(word cloud)效果的 JavaScript 库。​​官网​
  • d4:一个基于 D3 、友好、可复用的 DSL 图表库 。​​官网​
  • dimple.js:基于 d3 的简易商业分析图表库。​​官网​
  • chartist-js:简单的响应式图表。​​官网​
  • epoch:一个通用的实时图表库。​​官网​
  • c3:基于 D3 的可复用图表库。​​官网​
  • BabylonJS:一个运用 HTML5 和 WebGL 构建 3D 游戏的框架。​​官网​
  • jquery.raty.js:一个星级评分插件。​​官网​

也有一些很棒的收费库,如 ​​amchart​​​、​​plotly​​​ 和 ​​highchart​​。

时间轴


  • TimelineJS: 一个用 JavaScript 编写的可叙事时间轴库。​​官网​
  • timesheet.js:用于构建简单的 HTML5 & CSS3 时间表的 JavaScript 库。​​官网​

编辑器


  • ace:Ace(Ajax.org Cloud9 Editor)。​​官网​
  • CodeMirror:浏览器端的代码编辑器。​​官网​
  • esprima:用于综合分析的 ECMAScript 解析器。​​官网​
  • ​quill​​​:一个带有 API 的跨浏览器富文本编辑器。(​​官网​​)
  • medium-editor:Medium.com 所见即所得编辑器的克隆版。​​官网​
  • pen:享受在线编辑(支持 markdown)。​​官网​
  • jquery-notebook:一个易用的、简洁优雅的文本编辑器。灵感来源于 Medium 的魅力。​​官网​
  • bootstrap-wysiwyg:小巧的、兼容 bootstrap 的所见即所得的富文本编辑器。​​官网​
  • ckeditor-releases:适用于每个人的 web 文本编辑器。​​官网​
  • editor:一个 markdown 编辑器,但仍在开发中。​​官网​
  • EpicEditor:一个可嵌入的 JavaScript Markdown ​​官网​​的编辑器,拥有全屏编辑、即时预览、自动保存草稿和离线支持等功能。
  • jsoneditor:查看、编辑和格式化 JSON 的 web 工具。​​官网​
  • vim.js: 拥有持久化 ~/.vimrc 的 Vim 编辑器的 JavaScript 移植版本。​​官网​
  • Squire:HTML5 富文本编辑器。​​官网​
  • TinyMCE:JavaScript 富文本编辑器。​​官网​
  • trix:由 Basecamp 制作,适用于每天写作的富文本编辑器。​​官网​

文件

处理文件的库。


  • Papa Parse:一款强大的 CSV 库,支持解析 CSV 文件/字符串,也能导出 CSV。​​官网​
  • jBinary:对用声明式语法描述文件类型和数据结构的二进制文件,进行高级 I/O(加载、解析、操作、序列化、存储)操作。​​官网​

函数式编程

函数式编程库扩展了 JavaScript 的能力。

响应式编程

响应式程序库扩展了 JavaScript 的能力。


  • RxJs:对 JavaScript 进行响应式扩展。​​官网​
  • Bacon:JavaScript 的 FPR(函数式响应式编程)库。​​官网​
  • Kefir:受 Bacon.js 和 RxJS 启发的 FRP 库,专注于高性能和低内存消耗。​​官网​
  • Highland:对 JavaScript 实用工具的重新思考,Highland 能轻易地管理同步和异步信息,而且仅使用标准 JavaScript 和类 Node 流。​​官网​
  • Most.js:高性能 FRP 库。​​官网​

数据结构

数据结构库用于构建一个更复杂的应用。


  • immutable-js:不可变的数据集合,包括 Sequence、Range、Repeat、Map、OrderedMap、Set 和 sparse Vector。​​官网​
  • mori:使用 ClojureScript 持久化数据结构和支持原生 JavaScript API 的库。​​官网​
  • buckets:完整的、经过充分测试和记录数据结构的 JavaScript 库。​​官网​
  • hashmap:简单的 hashmap 实现,支持任何类型的键值。​​官网​


日期

日期库。


  • moment:解析、验证、操作和显示日期。​​官网​
  • moment-timezone:基于 moment.js 的时区库。​​官网​
  • jquery-timeago:一款支持自动更新模糊时间戳的 jQuery 插件(如:"4 分钟之前")。​​官网​
  • timezone-js:让 JavaScript Date 对象拥有时区功能。使用 Olson zoneinfo 文件记录着时区数据。​​官网​
  • date:拥有人性化的 Date() 方法。​​官网​
  • ms.js:小巧的毫秒转换工具。​​官网​
  • timeago.js:一个非常轻量级(~1.7 Kb)的用于将时间转化成​​xxx时间前​​​格式,例如:8分钟前。​​官网​
  • lodash.js:一个处理数据的插件。​​官网​
  • futil-js是一套用来补足 lodash 的实用工具集。​​官网​

字符串

字符串库。


  • selecting:一个允许你获取用户选定文本的库。​​官网​
  • underscore.string:扩展了 Underscore.js 的字符串操作。​​官网​
  • string.js:额外的 JavaScript 字符串方法。​​官网​
  • he:健壮的 HTML 实体编码/解码器。​​官网​
  • multiline:多行字符串。​​官网​
  • query-string:解析和字符串化 URL 查询字符串。​​官网​
  • URI.js:URL 操作库。​​官网​
  • jsurl:轻量的 URL 操作库。​​官网​
  • sprintf.js:实现字符串格式化。​​官网​
  • url-pattern:让 url 和其它字符串进行比正则表达式匹配更简单。字符串和数据可相互转化。​​官网​

数字


  • Numeral-js:对数字进行格式化和操作的库。​​官网​
  • odometer:流畅的数字过渡效果。​​官网​
  • accounting.js:对数字、金钱、货币进行格式化的轻量库——完全本地化和无依赖。​​官网​
  • money.js:一个小巧(1kb)的货币转换库,适用于 web 和 nodeJS。​​官网​
  • Fraction.js:一个有理数库。​​官网​
  • Complex.js: 一个复数库。​​官网​
  • Polynomial.js:一个多项式库。​​官网​

存储


  • store.js:为所有浏览器封装了 LocalStorage,而没有使用 cookies 和 flash。隐秘地使用 localStorage、globalStorage 和用户数据。​​官网​
  • localForage:改善后的离线存储。其封装了 IndexedDB、WebSQL 和 localStorage,拥有操作简单和强大的 API。​​官网​
  • jStorage:jStorage 是一个简单的键值对数据库,用于在浏览器端存储数据。​​官网​
  • cross-storage:获得权限后,能跨域名本地存储。​​官网​
  • basket.js:用 localStorage 加载和缓存脚本的资源加载器。​​官网​
  • bag.js:可以缓存脚本和加载资源,与 basket.js 相似,但增加了键值对接口和对 localStorage / websql / ​​官网​​undexedDB 的支持。
  • basil.js:智能的 JavaScript 数据持久层库。​​官网​
  • jquery-cookie:轻量简单的、用于读取、编辑和删除 cookie 的 jQuery 插件。​​官网​
  • Cookies:客户端 Cookie 操作库。​​官网​
  • DB.js:基于 Promise 的、封装了 IndexedDB 的库。​​官网​
  • lawnchair.js:简单的客户端 JSON 存储。​​官网​

颜色


  • randomColor:JavaScript 颜色生成器。​​官网​
  • chroma.js:拥有各种各样颜色操作的 JavaScript 库。​​官网​
  • color:JavaScript 颜色转换和操作库。​​官网​
  • colors:更智能的默认 web 颜色。​​官网​
  • PleaseJS:随机创建出赏心悦目的颜色和配色方案。​​官网​
  • TinyColor:快速、轻巧的颜色操作和转换库。​​官网​
  • Vibrant.js:从图像提取主要颜色。​​官网​

国际化和本地化(I18n And L10n)

本地化和国际化 JavaScript 库


  • i18next:JavaScript 最简单的国际化(i18n)方法。​​官网​
  • polyglot:小巧的国际化助手库。​​官网​
  • babelfish:i18n 提供友好易懂的 API ,并且内置多种支持。​​官网​


  • ClassManager:世界上最快、最方便的类系统之一。​​官网​
  • klass:用于创建极富表现力的类工具库。​​官网​
  • augment:世界上最小且最快的一流 JavaScript 继承模式。​​官网​

控制流


  • async:适用于 node 和浏览器的异步工具库。​​官网​
  • q:实现异步的 promise JavaScript 库。​​官网​
  • step:让逻辑顺序合理化的异步控制流库。​​官网​
  • contra:利用函数风格实现的异步流控制。​​官网​
  • Bluebird:专注于革新功能和性能的,功能齐全的 promoise 库。​​官网​
  • when:快速可靠的、Promises/A+ 规范的 when() 实现,而且拥有异步其它的优秀特性。​​官网​
  • ObjectEventTarget:提供增加了事件监听的原型(与 DOMElement 的 EventTarget 在浏览器行为一致)。​​官网​

路由


  • director:一个小巧的、与 URL 同构的路由器。​​官网​
  • page.js:受 Express router 启发的小型客户端路由器(约为1200字节)。​​官网​
  • pathjs:简单、轻量的 web 路由器。​​官网​
  • crossroads:JavaScript 路由。​​官网​
  • davis.js:使用 pushState、RESTful 风格和可降级的 JavaScript 路由器。​​官网​
  • ​angular-ui-router​​​:基于AngularJS的可嵌套路由。​​官网​
  • react-router: Declarative routing for React ​​官方​
  • vue-router: Declarative routing for Vue ​​官方​

安全性


  • DOMPurify:针对 HTML、MathML 和 SVG 的仅支持DOM、快速、高容错的 XSS 过滤器。​​官网​
  • js-xss:通过白名单配置,即可过滤不信任的 HTML(防止 XSS 攻击)。​​官网​

日志


  • log:带有样式的 Console.log。​​官网​
  • Conzole:对 JavaScript 原生 console 对象方法和功能进行封装的 debug 面板,使其显示在页面内。​​官网​
  • console.log-wrapper:将日志清晰地记录到 console,且兼容所有浏览器。​​官网​
  • loglevel:最轻量的 JavaScript 日志记录工具库,向封装后可用的 console.log 方法增加可靠的日志等级。​​官网​
  • minilog:轻量的、用流式 API 显示的、可用于客户端和服务器端的日志记录库。​​官网​

正则表达式


  • RegEx101:在线的 JavaScript 正则表达式测试器和调试器。同时支持 Python、PHP 和 PCRE。​​官网​
  • RegExr:用于创建、测试和学习正则表达式的 HTML/JS 工具。​​官网​
  • RegExpBuilder:使用链式方法创建正则表达式。​​官网​

媒体


  • Ion.Sound:可用于任何网页上简单音频。​​官网​

语音命令


  • annyang:向网站添加语音命令的语音识别库。​​官网​
  • voix.js:向网站、app 或游戏添加语音命令的 JavaScript 库。​​官网​

API


  • bottleneck:强大的频率限制器,使调节流量变得更容易。​​官网​
  • oauth-signature-js:适用于 node 和 浏览器的 OAuth 1.0a 签名生成器。​​官网​
  • amygdala:为 Web 应用提供 RESTful HTTP 客户端解决方案。​​官网​
  • jquery.rest:一个让 RESTful API 更易使用的 jQuery 插件。​​官网​

视觉检测


  • tracking.js:在 web 上实现计算视觉的一种现代方法。​​官网​
  • ocrad.js:通过 Emscripten 用 JavaScript 实现 OCR(光学字符识别)。​​官网​

浏览器检测

性能分析


  • easy-monitor:一个轻量级实时 Node.js 项目的内核性能分析工具。​​官网​

UI

代码高亮


  • Highlight.js:JavaScript 语法高亮器。​​官网​
  • PrismJS:轻量、健壮和优雅的语法高亮器。​​官网​

加载状态

指示加载状态的库。


  • Mprogress.js:创建谷歌 Material 设计风格的线性进度条。​​官网​
  • NProgress:在 Ajax'y 应用显示细长型进度条​​官网​
  • Spin.js:一个旋转的进度指示器。​​官网​
  • progress.js:为页面任何对象创建和管理进度条。​​官网​
  • progressbar.js:用 SVG path 动画制作的、漂亮和响应式的进度条。​​官网​
  • pace:自动向你的网站添加一个进度条。​​官网​
  • topbar:小巧漂亮的、与网站同宽的进度指示器。​​官网​
  • nanobar:非常轻量的进度条。不依赖 jQuery。​​官网​
  • PageLoadingEffects:使用 SVG 动画展现新内容的现代方式。​​官网​
  • SpinKit:运用 CSS 动画的加载指示器集合。​​官网​
  • Ladda:内置在按钮的加载指示器。​​官网​
  • css-loaders:运用 CSS 动画的旋转加载指示器的集合。​​官网​

除了上述这些库,还有收藏在 ​​Codepen​​​ 的,另外还有 ​​Ajaxload​​​,​​Preloaders​​​ 和 ​​CSSLoad​​ 这些生成器。

验证


  • Parsley.js:不用写一行 JavaScript 代码即可在前端验证表单。​​官网​
  • jquery-validation:jQuery 验证插件。​​官网​
  • validator.js:字符串验证和过滤(在使用用户输入之前清理用户输入中的有害或危险字符的操作)。​​官网​
  • validate.js:受 CodeIgniter 启发的轻量表单验证 JavaScript 库。​​官网​
  • validatr:跨浏览器的 HTML5 表单验证库。​​官网​
  • BootstrapValidator:是验证表单域中最好的 jQuery 插件。要与 Bootstrap 3 一起使用。​​官网​
  • ​is.js​​​:检查类型、正则表达式、是否存在、时间等。​​官网​
  • FieldVal:多用途验证库。同时支持同步和异步验证。​​官网​

键盘封装器


  • mousetrap:处理键盘快捷键的 JavaScript 库。​​官网​
  • keymaster:定义和调度键盘快捷键的小型库。​​官网​
  • Keypress:键入捕捉工具库,任何键都可以成为一个修饰健。​​官网​
  • KeyboardJS:一个用于绑定键盘组合的 JavaScript 库,让你脱离快捷键和快捷键组合冲突的痛苦。​​官网​
  • jquery.hotkeys:jQuery Hotkeys 能让你在代码任何的地方监听键盘事件,并几乎支持所有按键组合。​​官网​
  • jwerty:令人惊叹的键盘事件处理库。​​官网​

浏览和引导


  • intro.js:这是一个介绍新功能的很好方式,能一步步地引导用户浏览你的网站和项目。​​官网​
  • shepherd:通过引导让用户浏览你的应用程序。​​官网​
  • bootstrap-tour:应用 Twitter Bootstrap 弹出框对产品进行快速简单的引导。​​官网​
  • tourist:简单、灵活的应用引导介绍库。​​官网​
  • chardin.js:简单的应用遮罩层介绍。​​官网​
  • pageguide:使用 jQuery 和 CSS3 的 web 页面元素交互引导库。​​官网​
  • hopscotch:让开发者更容易向其页面产品添加引导的框架。​​官网​
  • joyride:基于 jQuery 的功能引导插件。​​官网​
  • focusable:通过向页面其余部分添加遮罩层,使焦点聚集在特定 DOM 元素。​​官网​

通知


  • messenger:为你的应用添加 Growl-style 弹框和信息(Crowl 是 Mac OS X 下的一个通知系统)。​​官网​
  • noty:jQuery 通知插件。​​官网​
  • pnotify:适用于 Bootstrap、jQuery UI 和 Web Notifications Draft 的 JavaScript 通知库。​​官网​
  • toastr:用来显示简单的,会自动到期的信息窗口)简单的弹出框通知(​​toast notifications​​​​官网​
  • humane-js:一个简单、时髦的浏览器通知系统。​​官网​
  • smoke.js:与框架无关的、能够自定义样式的 JavaScript 弹框系统。​​官网​

幻灯片


  • Swiper:使用硬件加速过渡的移动设备触控滑块框架。​​官网​
  • slick:你所需要的最后一个轮播插件。​​官网​
  • slidesJs:响应式的 jQuery(1.7.1+)幻灯片插件,具有触摸、 CSS3 过渡等特性。​​官网​
  • FlexSlider:一款令人惊叹的、全响应式的幻灯片 jQuery 插件。​​官网​
  • unslider:最简单的幻灯片 jQuery 插件。​​官网​
  • colorbox:轻量、可自定义的灯箱 jQuery 插件。​​官网​
  • fancyBox:提供了良好优雅的方式,为页面上的图片、html 内容和多媒体添加缩放功能的工具。​​官网​
  • sly:基于项导航的、支持单向滚动的 JavaScript 库。​​官网​
  • vegas:向页面添加漂亮的全屏背景的 jQuery 插件,甚至允许幻灯片。​​官网​
  • Sequence:用于创建响应式的幻灯片、演示、旗帜广告和以步骤为基础的应用的 CSS 动画框架。​​官网​
  • baguetteBox.js:易于使用的、用纯 JavaScript 实现的遮罩层脚本。​​官网​
  • reveal.js:用 HTML 创建漂亮演示控件的框架。​​官网​
  • PhotoSwipe:适用于移动设备和桌面电脑的、模块化和不无依赖框架的 JavaScript 画廊控件。​​官网​
  • jcSlider:用 CSS 动画实现的响应式幻灯片 jQuery 插件。​​官网​
  • basic-jquery-slider:易于使用、指定主题和定制化。​​官网​
  • unslider: 这是最简单的幻灯片 jQuery 插件。​​官网​
  • viewerjs:原生js实现的图片查看器。​​官网​
  • jQuery.adaptive-slider:带有自适应颜色标题和导航的幻灯片 jQuery 插件。​​官网​
  • slidr:可添加一些幻灯片效果。​​官网​
  • Flickity:可触摸的、响应式的和可轻弹的画廊。​​官网​

滑块控件


  • Ion.RangeSlider:强大的、易于自定义的范围滑块选择库,支持很多配置和皮肤。​​官网​
  • jQRangeSlider:支持日期的滑块选择库。​​官网​
  • noUiSlider:轻量无冗余的、高度定制化的滑块选择库。​​官网​
  • rangeslider.js:HTML5 input 区域滑块元素。​​官网​

表单组件

输入


  • typeahead.js:快速的、功能齐全的自动补全库。​​官网​
  • tag-it:处理多标签字段以及标签建议/自动完成的 jQuery UI 插件。​​官网​
  • At.js:向你的应用添加类似 Github 的自动完成提示功能。​​官网​
  • Placeholders.js:JavaScript 补全 HTML5 占位符的属性。​​官网​
  • fancyInput:利用 CSS3 效果让输入更有趣。​​官网​
  • jQuery-Tags-Input:利用这个 jQuery 插件,可奇妙地将一个简单的文本输入转换成一个酷酷的标签列表。​​官网​
  • vanilla-masker:一个纯 JavaScript 实现的输入控制库。​​官网​
  • Ion.CheckRadio:一个为复选框和单选按钮添加样式的 jQuery 库,支持多种皮肤。​​官网​

日历


  • pickadate.js:对移动设备友好的、响应式的和轻量的 jQuery 日期 & 时间输入选择器。​​官网​
  • bootstrap-datepicker:基于 bootstrap 的日历选择器。​​官网​
  • Pikaday:一个崭新的 JavaScript 日期选择器 —— 轻量、无依赖和模块化的 CSS。​​官网​
  • fullcalendar:全尺寸、支持拖放事件的日历(jQuery 插件)。​​官网​
  • rome:可定制的日期(和时间)选择器。无依赖,可选 UI。​​官网​
  • datedropper: datedropper 是一个 jQuery 插件,它提供了快速简易的方式去管理日期输入框。​​官网​
  • flatpickr: flatpickr 是一个轻量、强大、无依赖的日历和时间选择器插件,支持移动端,并支持React、Ember、Angular和Vue。​​官网​

选择


  • selectize.js:Selectize 是文本框和选择框的混合体。它基于jQuery,拥有自动完成和键盘感应下拉列表功能,可用于标签、联系人列表等。​​官网​
  • select2:它基于 jQuery,是选择框(select box)的替代品。支持搜索、远程数据集和无限滚动。​​官网​
  • chosen:可以让冗长不便的选择框更友好的库。​​官网​

文件上传


  • jQuery-File-Upload:File Upload 是一个支持多文件选择、文件拖放、进度条、验证和图片、音频、视频预览的 ​​官网​​jQuery 插件。
  • dropzone:Dropzone 是一个易于使用且支持多文件拖放的库。其支持图片预览并且拥有很好的进度条效果。​​官网​
  • flow.js:一个通过 HTML5 的 File API ,提供多个同时链接的、稳定的、容错的、可恢复的/可重新开始的文件上传库。​​官网​
  • fine-uploader:一个带有进度条、拖放功能和支持直接上传到 S3 (Amazon Simple Storage Service,亚马逊简易存储服务)的多文件上传插件。​​官网​
  • FileAPI:JavaScript 文件工具集合。支持多文件上传、拖放和文件分块上传。对于图像,支持裁剪、调整大小和根据 ​​EXIF​​​自动调整方向。​​官网​
  • plupload:处理文件上传的 JavaScript ​​官网​​API,其支持多文件选择、文件类型过滤、分块请求、客户端图片缩放和根据不同的运行环境选择 HTML5、Silverlight 和 Flash。

其它


  • form:jQuery 表单插件。​​官网​
  • Garlic.js:自动在本地保存表单文本和选择框的值,直到表单被提交。​​官网​
  • Countable:对某个 HTML 元素包含文本的段落数、单词数和字符数进行统计的 JavaScript 函数。​​官网​
  • card:只需一行代码,让信用卡表单变得更友好。​​官网​
  • stretchy:自适应大小的 form 元素,表单本应该是这样的。​​官网​
  • list.js:向表格、列表等 HTML 元素添加搜索、排序、过滤和自适应功能的库。在已有 HTML 上增加可视化。​​官网​

提示


  • tipsy:基于 jQuery 的 Fackbook 风格的提示工具(tooltip)。​​官网​
  • opentip:开源且基于 prototype 框架的 JavaScript 工具提示库。​​官网​
  • qTip2:非常强大的工具提示库。​​官网​
  • tooltipster:一个工具提示 jQuery 插件。​​官网​
  • simptip:用 Sass 制作的、简单的工具提示。​​官网​
  • jquery-popup-overlay:是一个响应式的和可访问性强的模态框(modal)和工具提示框 jQuery 插件。​​官网​

模态框和弹出框


  • Magnific-Popup:专注于性能、轻量、响应式的灯箱(lightbox)脚本。​​官网​
  • jquery-popbox:jQuery 提示框插件。​​官网​
  • jquery.avgrund.js:一种新的定于弹出的模态框 jQuery 插件。​​官网​
  • vex:新的、拥有高度可配置和易于改变样式功能的对话框库。​​官网​
  • bootstrap-modal:对 Bootstrap 默认的模态框类进行扩展。其支持响应式、可堆叠和 ajax 等。​​官网​
  • css-modal:纯 CSS 打造的模态框。​​官网​
  • jquery-popup-overlay:是一个响应式的和可访问性强的模态框和工具提示框(tooltips)jQuery 插件。​​官网​
  • layer:国内最多人使用的web弹层组件。​​官网​

滚动


  • scrollMonitor:滚动发生时,可以监听元素的、简单、快速的 API。​​官网​
  • headroom:除非你需要显示页面头部(header),否则将隐藏它,以腾出页面头部空间。​​官网​
  • onepage-scroll:创建一个类似 Apple 的单页面滚动网站(iPhone 5S 网站)。​​官网​
  • iscroll:高性能、轻量、无依赖、兼容多平台的 JavaScript 滚动组件。​​官网​
  • skrollr:独立(不依赖 jQuery) 的视差滚动库,适用于移动设备(Android + iOS)和桌面电脑。​​官网​
  • parallax:面向智能设备的视差引擎。​​官网​
  • stellar.js:让视差滚动变简单。​​官网​
  • plax:基于 jQuery 的视差库。​​官网​
  • jparallax:创建可交互视差效果的 jQuery 插件。​​官网​
  • fullPage:简单和易于使用的、用于创建全屏滚动网站的插件(也被称为单页面网站)。​​官网​
  • ScrollMenu:让老旧无聊的滚动条焕然一新。​​官网​

菜单


  • jQuery-menu-aim:当用户光标放在特定下拉菜单项时触发事件。可制作响应式的、大数据量的下拉菜单,如 Amazon 的。​​官网​
  • jQuery contextMenu:右键菜单(contextMenu) 管理工具。​​官网​
  • Slideout:为移动设备的 web 应用制作出响应式的、可触摸滑出的导航菜单。​​官网​
  • Slide and swipe:一个基于 touchSwipe 库的滑出菜单插件。​​官网​

表格/栅格


  • jTable:基于 CRUD 表创建 AJAX 的 jQuery 插件。​​官网​
  • DataTables:这是一个非常灵活的工具,在渐进增强的基础上,将高级的交互效果加到 HTML 表格。(jQuery 插件)​​官网​
  • floatThead:(jQuery 插件)锁定表格头部,只允许表格内容滚动。适用于任何表格,而且不需要额外的 html 或 css。​​官网​
  • Masonry:瀑布流式的网格布局库。​​官网​
  • Packery:使用装箱算法(bin-packing)的网格布局库。支持拖拽布局。​​官网​
  • Isotope:可过滤和可排序的网格布局的库,它能实现 Masonry、Packery 等布局。​​官网​

框架


  • Semantic UI:拥有大量主题和元素的 UI 套件。​​官网​

手势


  • hammer.js:拥有多种触摸手势的 JavaScript 库。​​官网​
  • touchemulator:在桌面电脑模仿触摸输入。​​官网​
  • Dragula:超级易于使用的拖拽库。​​官网​

触摸


  • fastclick.js:去除触屏用户300ms点击延误。​​官网​
  • dropload.js:移动端下拉刷新,上拉加载更多。​​官网​
  • touchslide.js:触屏滑动特效。​​官网​

地图


  • Leaflet:对移动设备友好的、可交互的地图 JavaScript 库。​​官网​
  • Cesium:开源的、基于 WebGL 实现的虚拟地球仪和地图引擎。​​官网​
  • gmaps:以最简单的方式使用 Google 地图。​​官网​
  • polymaps:一个免费的、兼容现代 web 浏览器的、用于制作动态可交互的地图 JavaScript 库。​​官网​
  • kartograph.js:开源的 Kartograph SVG 地图渲染器。​​官网​
  • mapbox.js:Mapbox 的 API,Leaflet 的插件。​​官网​
  • jqvmap:矢量地图 jQuery 插件。​​官网​
  • OpenLayers3:高性能的、功能丰富的库,能满足你对地图所有需求。​​官网​

视频/音频


  • prettyembed.js:更完美地嵌入 YouTube —— 拥有很好的选项,如高分辨率的预览图、嵌入选项的高级定制和可选的 ​​官网​​FitVids 支持。
  • ​html5media​​​:能在所有主流浏览器播放多媒体标签中定义的多媒体文件。​​官网​
  • Play-em JS:Play'em 是一个 JavaScript 组件,它能管理音乐/视频播放顺序,通过在一个 DIV 元素里嵌入几个播放器(Youtube、Soundcloud 和 Vimeo)来控制一系列歌曲的播放。​​官网​
  • polyplayer:将 YouTube、Soundcloud 和 Vimeo 播放器的 API 统一成一套。​​官网​
  • flowplayer: HTML5 视频播放器 ​​官网​​​、​​Github​
  • mediaelement:让 HTML5、 Flash 播放器和模仿 HTML5 媒介元素 API 的 Silverlight shim,在所有浏览器拥有一致的 UI。​​官网​​​、​​Github​
  • SoundJS:让音频在 web 上运行更简单的库。它为不同浏览器提供了一致的 API。​​官网​

动画

图片处理


  • ​lena.js​​​:拥有滤镜和实用功能的图像处理库。​​官网​
  • ​pica​​​:高质量地调整图片大小(拥有快速的、纯 JS 实现的 Lanczos 滤镜算法)。​​官网​
  • cropper:一个简单的图像裁剪 jQuery 插件。​​官网​
  • AlloyImage:腾讯前端开源的基于HTML5的专业级图像处理开源引擎。​​官网​

ECMAScript 6


  • ​es6features​​​:ECMAScript 6 特性概述。​​官网​
  • es6-features:ECMAScript 6: 特性概述和比较。​​官网​
  • ECMAScript 6 compatibility table :Compatibility tables 展示了各种平台上所有 ECMAScript 6 特性的支持程度。​​官网​
  • Babel (Formerly 6to5):将 ES6+ 代码转换成纯 ES5。​​官网​
  • Traceur compiler:ES6 特性转 ES5。包括 classes、generators、promises、destructuring ​​官网​​patterns、default parameters 等。

软件开发工具包(SDK)


  • javascript-sdk-design:从工作和个人经验中提炼出来的 JavaScript SDK 设计指导。​​官网​

大杂烩


  • echo:利用 data-* 属性延迟加载图片。​​官网​
  • picturefill:响应式图片显示插件,使浏览器支持 srcset、size 属性。​​官网​
  • platform.js:一个平台检测库,几乎适用于所有 JavaScript 平台。​​官网​
  • ​json3​​​:一个现代 JSON 实现库,几乎兼容所有 JavaScript 平台。​​官网​
  • Logical Or Not:一个关于 JavaScript 特性的游戏。​​官网​
  • BitSet.js:实现位向量的 JavaScript 库。​​官网​
  • ​Edge.js​​​:运行在一个进程中运行.NET和Node.js代码。​​官网​​​、​​GitHub​