ywzhaiqi / awesome-javascript-cn

JavaScript 资源大全中文版,内容包括:包管理器、加载器、测试框架、运行器、QA、MVC框架和库、模板引擎等

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JavaScript 资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-javascript 是 sorrycc 发起维护的 JS 资源列表,内容包括:包管理器、加载器、测试框架、运行器、QA、MVC框架和库、模板引擎、数据可视化、时间轴、编辑器等等

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。

我的更改:原版不更新了?


我们要做什么?


目录


包管理器

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

  • npm:npm 是 JavaScript 的包管理器。官网
    • yarn - Fast, reliable, and secure dependency management.
  • 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 字节。官网
  • Jade:健壮的、优雅且功能丰富的 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:一个星级评分插件。官网

也有一些很棒的收费库,如 amchartplotly 和 highchart

时间轴

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

编辑器

Editors

  • 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 制作,适用于每天写作的富文本编辑器。官网
  • Trumbowyg - A lightweight and amazing WYSIWYG JavaScript editor.
  • Draft.js - A React framework for building text editors.
  • bootstrap-wysihtml5 - Simple, beautiful wysiwyg editor
  • wysihtml5 - Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.
  • raptor-editor - Raptor, an HTML5 WYSIWYG content editor!
  • popline - Popline is an HTML5 Rich-Text-Editor Toolbar

文档

Documentation

  • DevDocs is an all-in-one API documentation reader with a fast, organized, and consistent interface.
  • dexy is a free-form literate documentation tool for writing any kind of technical document incorporating code.
  • docco is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
  • styledocco generates documentation and style guide documents from your stylesheets.
  • Ronn builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web.
  • dox is a JavaScript documentation generator written with node. Dox no longer generates an opinionated structure or style for your docs, it simply gives you a JSON representation, allowing you to use markdown and JSDoc-style tags.
  • jsdox is a JSDoc3 to Markdown documentation generator.
  • YUIDoc is a Node.js application that generates API documentation from comments in source, using a syntax similar to tools like Javadoc and Doxygen.
  • coddoc is a jsdoc parsing library. Coddoc is different in that it is easily extensible by allowing users to add tag and code parsers through the use of coddoc.addTagHandler and coddoc.addCodeHandler. coddoc also parses source code to be used in APIs.
  • sphinx a tool that makes it easy to create intelligent and beautiful documentation
  • Using JSDoc
  • Beautiful docs is a documentation viewer based on markdown files.
  • documentation.js - API documentation generator with support for ES2015+ and flow annotation.
  • jsduck - API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too.

工具库

文件

处理文件的库。

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

函数式编程

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

  • underscore:JavaScript 的实用工具。官网
  • lodash:提供一致性、可定制、高性能和额外功能的实用库。官网
  • Sugar:一个扩展了原生对象功能的 JavaScript 库。官网
  • lazy.js:类似 Underscore,但性能更优越官网
  • ramda:一个针对 JavaScript 程序员的实用函数库。官网
  • mout:模块化的 JavaScript 工具库。官网
  • mesh:流数据同步工具。官网

响应式编程

响应式程序库扩展了 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分钟前。官网

字符串

字符串库。

  • 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的可嵌套路由。官网

安全性

  • 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(光学字符识别)。官网

浏览器检测

  • bowser:一个浏览器检测器。官网

性能分析

  • 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 的,另外还有 AjaxloadPreloaders 和 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。官网

动画

  • velocity:加速 JavaScript 动画。官网
  • jquery.transit:拥有超级流畅的 CSS3 变换和过渡的 jQuery 插件。官网
  • impess.js:在 HTML 文档里,运用 CSS3 变换和过渡制作类似 Prezi 的展现效果。官网
  • bounce.js:可以立刻创建有趣的 CSS3 动画。官网
  • GreenSock-JS:适用于所有主流浏览器的高性能 HTML5 动画。官网
  • TransitionEnd:TransitionEnd 是一个运用 transitonend 事件的、跨浏览器的库。官网
  • Dynamics.js:用于创建基于物理知识的 CSS 动画库。官网

图片处理

  • 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

工具

本地编辑器

  • Visual Studio Code
  • Atom
  • Sublime Text
  • WebStorm: The smartest JavaScript IDE
  • Nuclide: is built as a single package on top of Atom to provide hackability and the support of an active community. It provides a first-class development environment for React Native, Hack and Flow projects.

在线编辑器

精品阅读

资源

社区

有影响力的书

具有广泛影响且值得阅读的前端经典书籍。

微博、微信公众号

待补充

知名网站

值得关注的前端技术站点。

中文站点

  • 伯乐在线前端频道:伯乐前端分享 Web 前端开发,包括 JavaScript、CSS 和 HTML5 开发技术,前端相关的行业动态。官网

英文站点

待补充

博客

About

JavaScript 资源大全中文版,内容包括:包管理器、加载器、测试框架、运行器、QA、MVC框架和库、模板引擎等