跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) 聊天机器人(10) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) 编程语言(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

awesome-javascript 是 sorrycc 发起维护的 JS 资源列表,内容包括:包管理器、加载器、测试框架、运行器、QA、MVC 框架和库、模板引擎、数据可视化、时间轴、编辑器等。由「开源前哨」和「前端大全」微信公号团队维护更新。

本项目的参与者

注: 名单不分排名,不定期补充更新


目录


包管理器

管理、读取和打包 JavaScript 库的工具。

  • npm:npm 是 JavaScript 的包管理器。
  • Bower:一个 web 应用的包管理器。
  • component:能构建更好 web 应用的客户端包管理器。
  • spm:全新的静态包管理器。
  • jam:一个专注于浏览器端的包管理器, 兼容 RequireJS 。
  • jspm:流畅的浏览器包管理器。
  • Ender:没有库文件的程序库。
  • volo:以项目模板、添加依赖项与自动化生成的方式创建前端项目。
  • Duo:融合了 Component、Browserify 和 Go 的最佳思想,快速无痛开发组织前端代码的下一代包管理器。
  • yarn:高效、稳定、安全的依赖管理器。
  • pnpm:效率高、磁盘利用率高的包管理器

组件管理器

  • Bit:跨应用创建、查找、复用组件(支持 React、Angular、Node.js 等等)的组件管理器

加载器

JavaScript 模块或加载系统。

  • RequireJS:一种 JavaScript 文件和模块加载器。
  • browserify:像在 Node.js 一样在浏览器端使用 require() 函数。
  • SeaJS:Web 端模块加载器。
  • HeadJS:HEAD 里只有唯一一个 script 引入。
  • 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 模块。
  • Rollup:下一代 ES6 模块打包工具。
  • Brunch:只需要简单声明式配置的快速前端 Webapp 构建工具。
  • Parcel:零配置,超快速 Web 应用打包工具。
  • Microbundle:用于小模块的零配置打包工具。
  • FuseBox:一个只做正确事情的打包工具。

类型检测

  • TypeScript:JavaScript 的超集,可以编译成原生 JavaScript 。
  • Flow.js:Facebook 出品的静态类型检查器。
  • Hegel:偏向于强类型推断的静态类型检查器。
  • TypL:偏向于类型推断的 JavaScript 类型检查器。
  • Hindley Milner Definitions:使用类似 Haskell 的 Hindley Milner 类型签名的 JavaScript 函数运行时类型检查。

测试框架

框架

  • mocha:适用于 node.js 和浏览器的简易、灵活、有趣的 JavaScript 测试框架。
  • jasmine:简单无 DOM 的 JavaScript 测试框架。
  • qunit:一个易用的 JavaScript 单元测试框架。
  • jest:能无痛使用的 JavaScript 单元测试框架。
  • prova:基于 Tape 和 Browserify 的测试运行器,适用于 Node 和 浏览器。
  • DalekJS:跨浏览器的 JavaScript 自动化功能测试框架(已经停止维护——译者注)。
  • Protractor:适用于 AngularJS 应用的端到端测试框架。
  • tape:适用于 Node 和浏览器的 tap 生成器测试套件。
  • TestCafe:适用于现代 Web 应用开发栈的自动化浏览器测试工具。
  • ava:🚀 未来感十足的测试运行器。
  • Cypress:一个完整的端到端测试框架,用于测试在浏览器中运行的所有代码。

断言

  • chai:适用于 node.js 和浏览器的 BDD / TDD 断言框架,并能搭配任意测试框架使用。
  • Enzyme:Enzyme 是一款 React 专用的 JavaScript 测试工具,让断言、操作和遍历 React 组件之后输出更加容易。
  • react testing library:简单完备的 React DOM 测试工具,引导更好的测试实践。
  • Sinon.JS:对 JavaScript 进行 spies、stubs 和 mock 测试。
  • expect.js:简约的、适用于 Node.js 和浏览器端的 BDD 风格的断言工具。
  • proxyquire:Node.js 依赖桩代码。

覆盖率

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

运行器

  • phantomjs:无界面的 Webkit 运行时(已暂停开发——译者注)。
  • slimerjs:一个内核为 Gecko 的类似 PhantomJS 工具。
  • casperjs:基于 PhantomJS 和 Slimer JS 的导航脚本和测试工具。
  • zombie:基于 node.js 的超快速、全栈且无图形界面的浏览器的测试工具。
  • totoro:一个简单可靠的跨浏览器测试工具。
  • karma:一款超级棒的 JavaScript 测试运行器(多浏览器测试场景下的 JavaScript 执行工具——译者注)。
  • nightwatch:基于 node.js 和 selenium webdriver 的图形界面自动化测试框架。
  • intern:下一代 JavaScript 代码测试栈。
  • yolpo:在浏览器逐句执行的 JavaScript 解释器。
  • puppeteer:谷歌 Chrome 团队出品,无界面 Chrome (Chromium) Node.js API 环境。
  • webdriverio:下一代 Web 驱动的 Node.js 自动化测试框架。
  • taiko:用于自动测试 Chromium 内核浏览器的简易 Node.js API 库。

QA 工具

  • Prettier:Prettier 是一款固执(严格)的代码格式化工具。
  • JSHint:JSHint 是一款用于检测 JavaScript 代码错误和潜在问题的工具。
  • jscs:JavaScript 代码风格检测工具。
  • jsfmt:格式化、搜索和改写 JavaScript。
  • jsinspect:检测复制粘贴和结构类似的代码。
  • buddy.js:检测 JavaScript 代码里的魔术数字。
  • ESLint:一款完全可插拔的 JavaScript 模板检测和报告工具。
  • JSLint :高标准、严要求且固执的代码质量工具,旨在保持语言的精华部分。
  • JavaScript Standard Style:固执、无需配置的代码风格规范、检查器和格式化工具。
  • Pre-evaluate code at buildtime:构建阶段前端 JavaScript 代码与评估器。
  • JS-Beautifier:格式化 JavaScript 代码的 npm 脚手架和库。
  • husky:防止劣质的 git commit、git push 等 git 操作。

MVC 框架和库

  • angular.js:专为 web 应用设计的增强型 HTML 。
  • aurelia:一个适用于移动设备、桌面设备和 web 的 JavaScript 客户端框架。
  • backbone:web 应用模型层、视图层、数据集合和事件的骨架。
  • ember.js:一个旨在创建非凡 web 应用的 JavaScript 框架。
  • meteor:一个超简单的、数据库无处不在的、只传输数据的纯 JavaScript web 框架。
  • ractive:新一代 DOM 操作。
  • vue:一套用于构建用户界面的渐进式框架。
  • svelte:svelte 是一种构建 web 应用的新方式。svelte 编译器将声明式组件编译成高效的 JavaScript 代码,并且会像外科手术那样更新 DOM。
  • knockout:Knockout 让使用 JavaScript 创建响应式富 UI 更加容易。
  • spine:轻量级 JavaScript 应用 MVC 框架。
  • espresso.js:一个极小的、用于制作用户界面的 JavaScript 库。
  • canjs:让 JS 更好、更快、更简单。
  • react:用于建构用户界面的库。它是声明式的、高效的和极度灵活的。以虚拟 DOM 作为其实现。
  • hyperapp:体积仅 1kb 的前端应用构件库。
  • preact:体积仅 3kb 的用 ES6 api 实现的 React 替代方案。(和 React 一样基于)组件和虚拟 DOM。
  • nativescript:构建真正的跨平台原生 JavaScript 应用,支持 iOS 和 Android 。
  • react-native:一个用 React 构建原生应用的框架。
  • riot:轻量级类 React 库。
  • thorax:强化版 Backbone。
  • chaplin:使用 Backbone.js 库的 JavaScript 应用架构。
  • marionette:一个 Backbone.js 的复合应用程序库,旨在简化大型 JavaScript 应用结构。
  • ripple:一个小巧的、用于构建响应界面的基础框架。
  • rivets:轻量却拥有强大的数据绑定和模板解决方案。
  • derby:让编写实时和协同应用更简单的 MVC 框架,能够同时在 Node.js 和浏览器运行。
  • way.js:简单、轻量、持久的双向数据绑定库。
  • mithril.js:Mithril 是一个客户端 MVC 框架(轻量、强大和快速)
  • jsblocks:jsblocks 是一个更好的类 MV 框架。
  • LiquidLava:用于构建用户界面的透明 MVC 框架。
  • feathers:专为未来应用设计的极简主义实时 JavaScript 库。
  • Keo:基于 Shadow DOM 的函数式无状态的 React 组件(框架)。
  • atvjs:使用原生 JavaScript 快速开发 Apple TV 应用。
  • makefun:链式 Promise 调用。
  • Alpine.js:Alpine.js 以更低的代价实现了像 Vue 和 React 这类大型架构一样的响应式和声明式的特性。
  • inferno:🔥 一款用于构建现代用户界面的超级快速、类似 React 的 JS 库。

基于 Node 的 CMS 框架

  • KeystoneJS:强大的 CMS 和 Web 应用框架。
  • Reaction Commerce:拥有实时的架构和设计的响应式 CMS。
  • Ghost:简单、强大的发布平台。
  • Apostrophe:提供内容编辑和基本服务的 CMS。
  • We.js:适用于实时应用、网站或博客的框架。
  • Hatch.js:拥有社交特性的 CMS 平台。
  • TaracotJS:基于 Node.js 的快速、极简风格 CMS。
  • Nodizecms:为 CoffeeScript 爱好者准备的 CMS。
  • Cody:拥有所见即所得编辑器的 CMS。
  • PencilBlue:一个 CMS 和博客平台。
  • Strapi:开源无界面的 Node.js CMS 系统,可轻松定制个性化接口。
  • Factor:一款 JavaScript CMS。

模板引擎

模板引擎用于执行字符串插值。

  • mustache.js:JavaScript 最精简的 {{mustaches}} 模板
  • handlebars.js:Mustache 模板语言的扩展。
  • nunjucks:Mozilla 出品,丰富且强大的 JavaScript 模板语言。
  • hogan.js:是 Mustache 模板语言的编译器。
  • doT:最快速简洁的 JavaScript 模板引擎,适用于 Node.js 和浏览器。
  • dustjs:适用于浏览器和 Node.js 的异步模板。
  • eco:嵌入式的 CoffeeScript 模板。
  • JavaScript-Templates:轻量(小于 1KB)、快速、强大且无依赖的 JavaScript 模版引擎。
  • t.js:小巧的 JavaScript 模板框架,压缩后约为 400 字节。
  • Pug:健壮的、优雅且功能丰富的 nodejs 模板引擎。(曾用名:Jade)
  • EJS:高效的 JavaScript 模板。
  • xtemplate:可扩展的模板引擎,适用于 node.js 和浏览器。
  • marko:基于 HTML 快速轻量的模板引擎,支持异步、流、自定义标签,支持 CommonJS 模块作为编译后输出,适用于 Node.js 和浏览器。
  • swig:一款简单、强大、可扩展的基于 Node.js 和 浏览器的 JavaScript 模板引擎。(已停止维护)
  • EHTML:一款实现零编写 JavaScript 的 HTML 框架。

文章和帖子

数据可视化

Web 数据可视化工具

  • d3:一款 JavaScript 数据可视化库,使用 HTML、SVG 和 Canvas 技术展现数据。
    • metrics-graphics:更简洁和拥有更规范的数据图表布局优化算法的库。
  • three.js:JavaScript 3D 库。
  • Chart.js:简单的基于 <canvas> 标签的 HTML5 图表库。
  • paper.js:矢量图形脚本的瑞士军刀,利用 HTML5 Canvas 将脚本-图表转换移植到 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 插件。
  • trianglify:基于 d3.js 的低聚风格背景图片生成器。
  • d3-cloud:创建词云效果的 JavaScript 库。
  • d4:一个基于 d3 、友好、可复用的 DSL 图表库 。
  • dimple.js:基于 d3 的简易商业分析图表库。
  • chartist-js:简单的响应式图表。
  • epoch:一个通用的实时图表库。
  • c3:基于 d3 的可复用图表库。
  • BabylonJS:一个基于 HTML5 和 WebGL 的 3D 游戏的框架。
  • recharts:基于 React 和 d3 ,重新定义图标库。
  • GraphicsJS:轻量级直观接口 JavaScript 图形库,基于 SVG/VML 技术。
  • mxGraph:一款可快速创建交互式图表应用的图形库,支持任何主流浏览器(已停止开发——译者注)。
  • Frappe Charts:GitHub 驱动,为 web 设计的简易、现代且零依赖的 SVG 图形库。
  • Frappe Gantt:一款简单、可交互、现代的 Web 甘特图库。

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

时间轴

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

电子表格

  • HANDSONTABLE:Handsontable 是一款面向开发者的 JavaScript/HTML 5 电子表格库。
  • Frappe Datatable:Frappe DataTable 是一款适用于展示 Tabular 数据的简单、现代、可交互的数据表格库。
  • Luckysheet:Luckysheet 是一款类似 Excel 的在线电子表格,配置简单且强大,完全开源。

编辑器

  • ace:Ace ,即 Ajax.org Cloud9 Editor。
  • CodeMirror:一个浏览器端的代码编辑器,用 JS 实现。
  • 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:一款轻量且惊人的所见即所得 JavaScript 编辑器
  • Draft.js:用于构建文本编辑器的 React 框架。
  • bootstrap-wysihtml5:一款简单漂亮的所见即所得编辑器。
  • wysihtml5:基于 HTML5 ,渐进增强的开源富文本编辑器,利用非常严苛的规则旨在生成符合 HTML5 规范的标签,避免生成非规范标签和同行样式。
  • raptor-editor:Raptor,一款 HTML5 所见即所得内容编辑器!
  • popline:Popline 是一款 HTML5 富文本工具栏。
  • Summernote:一个极简的所见即所得编辑器。

文档

  • DevDocs:一款多合一接口文档阅读器,界面统一、高效、排版精良。
  • dexy:一款格式自由且文艺的文档工具,可用于编写任何包含代码的技术文档。
  • docco:一款快且脏、百来行、文艺范的文档生成器,用 Literate CoffeeScript 实现。
  • styledocco:根据样式表生成风格规范文档。
  • Ronn:构建手册。把对人类阅读友好的简单文本文件转换成 roff 格式文件,便于终端显示,也可以转换为 HTML ,便于 Web 端显示。
  • dox:一款 Node.js 开发的 JavaScript 文档生成器。Dox 不会生成结构样式严苛的文档,而是采用 JSON 表示法,以实现 markdown 和 JSDoc 风格标签。
  • jsdox:一款将 JSDoc3 转换成 markdown 的文档生成器。
  • ESDoc:一款为 JavaScript 设计的优秀文档生成器。
  • YUIDoc:一款提取源码注释生成接口文档的 Node.js 应用,功能类似 Javadoc and Doxygen 。
  • coddoc:一款 jsdoc 解析库。Coddoc 与其他工具相比)的不同之处在于,它很容易扩展,通过 coddoc.addTagHandler 和 coddoc.addCodeHandler 来添加标签和代码解析器。 Coddoc 还可以解析源码生成接口文档。
  • sphinx:一款让创建智能且漂亮文档更加简单的工具。
  • Using JSDoc
  • Beautiful docs:一款 markdown 格式文档阅读器。
  • documentation.js:支持 ES2015+ 和流注释的接口文档生成器。
  • jsduck:为 Sencha JavaScript 框架开发的接口文档生成器,当然其他框架也能用。
  • codecrumbs:一款用于学习和记录代码库的可视化工具,通过在源码中插入面包屑来实现功能。

文件

处理文件的库。

  • Papa Parse:一款强大的 CSV 库,支持解析 CSV 文件/字符串,也能导出 CSV。
  • jBinary:对用声明式语法描述文件类型和数据结构的二进制文件,进行高级 I/O(加载、解析、操作、序列化、存储)操作。
  • diff2html:git 差异输出解析器,也是 HTML 美化器。
  • jsPDF:一款 JavaScript PDF 文件生成器。
  • PDF.js:一个 JavaScript PDF 阅读器,社区驱动,Mozilla 支持。

函数式编程

函数式编程库提升了 JavaScript 的能力。

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

响应式编程

响应式程序库提升了 JavaScript 的能力。

  • RxJs:对 JavaScript 进行响应式扩展。
  • Bacon:JavaScript 的 FPR(函数式响应式编程)库。
  • Kefir:受 Bacon.js 和 RxJS 启发的 FRP 库,专注于高性能和低内存消耗。
  • Highland:对 JavaScript 实用工具的重新思考,Highland 能轻易地管理同步和异步信息,而且仅使用标准 JavaScript 和类 Node 流。
  • Most.js:高性能 FRP 库。
  • MobX:一款简单可扩展的状态管理 TFRP (Transparently Functional Reactive Programming ,透明函数式响应式编程——译者注)库。
  • Cycle.js:一款用于可预测代码的函数式和响应式 JavaScript 框架。
  • concent:绝对是 ❤️ 最简单却 ⚡️ 最强大的 react 状态管理开发框架,可预测、渐进式、高性能。

数据结构

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

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

日期

日期库。

  • moment:解析、验证、操作和显示日期。
  • moment-timezone:基于 moment.js 的时区库。
  • jquery-timeago:一款支持自动更新模糊时间戳的 jQuery 插件(如:"4 分钟之前")。
  • timezone-js:让 JavaScript Date 对象拥有时区功能。使用 Olson zoneinfo 文件记录时区数据。
  • date:对人类友好的 Date()。
  • ms.js:小巧的毫秒转换工具。
  • countdown.js:超小倒计时。
  • timeago.js:一个非常轻量级(~1.7 Kb)的用于将时间转化成 xxx时间前 格式的库。
  • fecha:轻量级日期格式化和解析库(约 2kb)。可以用来替换 moment.js 格式化和解析日期功能(moment.js 体积比较大——译者注)。
  • date-fns:现代 JavaScript 日期功能库。
  • map-countdown:构建在 Google 地图上的浏览器倒计时。
  • dayjs:Day.js 是一款拥有和 Moment.js 一样的现代化接口的日期库,但它仅仅有 2kb 大小,可以用来替换 Moment.js。

字符串

字符串库。

  • voca:一款超级好用的 JavaScript 字符串库。
  • selecting:一个允许你获取用户选定文本的库。
  • underscore.string:Underscore.js 的字符串操作扩展。
  • string.js:额外的 JavaScript 字符串方法。
  • he:健壮的 HTML 实体编码/解码器。
  • multiline:多行字符串。
  • query-string:解析和字符串化 URL 查询字符串。
  • URI.js:URL 操作库。
  • jsurl:轻量的 URL 操作库。
  • sprintf.js:实现字符串格式化。
  • url-pattern:比正则表达式匹配 url 或其它字符串更简单,字符串和数据可相互转化。
  • plexis:低保真、强大、社区驱动的字符串操作库。

数字

  • Numeral-js:对数字进行格式化和操作的库。
  • chance.js:JavaScript 随机生成器,可以生成数字、字符串等。
  • odometer:流畅的数字过渡效果。
  • accounting.js:对数字、金钱、货币进行格式化的轻量库,完全本地化和无依赖。
  • money.js:一个小巧(1kb)的货币转换库,适用于 web 和 nodeJS。
  • Fraction.js:一个有理数库。
  • Complex.js:一个复数库。
  • Polynomial.js:一个多项式库。
  • Quaternion.js:一款适用于 JavaScript 的四元数操作库。

存储

  • 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 / indexedDB 的支持。
  • basil.js:智能的 JavaScript 数据持久层库。
  • jquery-cookie:轻量简单的、用于读取、编辑和删除 cookie 的 jQuery 插件。
  • js-cookie:一款简单、轻量的 cookies 读写删 jQuery 插件。
  • Cookies:一个客户端 Cookie 操作库。
  • DB.js:基于 Promise 的、封装了 IndexedDB 的库。
  • lawnchair.js:简单的客户端 JSON 存储。
  • sql.js:基于 Emscripten 将 SQLite 编译成 JavaScript。
  • crumbsjs:一款轻量级原生 ES6 cookies 和本地存储 JavaScript 库。
  • awesome-web-storage:你必须知道的所有客户端存储知识。

颜色

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

国际化和本地化

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

  • i18next:用 JavaScript 实现国际化(i18n)简单的方法。
  • polyglot:小巧的国际化助手库。
  • babelfish:提供友好易懂 API 的 i18n 库,并且内置多种支持。
  • ttag:基于 ES6 标签模板和优秀的旧 GNU gettext ,新潮的 JavaScript 国际化、本地化库。

控制流

  • async:适用于 node.js 和浏览器的异步工具库。
  • q:实现异步 promise 的 JavaScript 工具。
  • step:一款可以使逻辑执行更简单的异步控制流库。
  • contra:函数式风格实现的异步流控制。
  • Bluebird:功能齐全的 promoise 库,专注于功能革新和性能提升。
  • when:快速可靠的、Promises/A+ 规范的 when() 实现,而且拥有其它异步操作的优秀特性。
  • ObjectEventTarget:为普通对象添加事件监听原型(就如浏览器 DOMElement 的 EventTarget 一样)。
  • sporadic:位于 promise 顶部的组合并发抽象(就像流、协程和类似 Go channels 一样),支持 Node.js 和浏览器引擎。

路由

  • director:一个小巧的、与 URL 同构的路由。
  • page.js:受 Express router 启发的小型客户端路由器(约为1200字节)。
  • pathjs:简单、轻量的 web 路由。
  • crossroads:JavaScript 路由。
  • davis.js:基于 pushState 可降级 RESTful 风格的 JavaScript 路由。
  • navaid:一款浏览器端的导航辅助系统(也可以成为路由),体积才 850 字节!

安全性

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

日志

  • log:带样式的 Console.log。
  • Conzole:对 JavaScript 原生 console 对象方法和功能进行封装的 debug 面板,并将面板显示在页面内。
  • console.log-wrapper:将日志清晰地记录到 console,兼容所有浏览器。
  • loglevel:最轻量的 JavaScript 日志记录工具库,向封装后的 console.log 方法增加可靠的日志等级。
  • minilog:轻量的、流式 API 显示的、可用于客户端和服务器端的日志记录库。
  • storyboard:通用日志库 + Chrome 扩展。提供一个单一入口查看包含客户端和服务端的任务触发日志。

正则表达式

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

语音命令

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

API

  • axios:基于 Promise 的 HTTP 客户端,适用于 Node.js 和 浏览器。
  • bottleneck:强大的速度限制器,使调节流量变得更容易。
  • oauth-signature-js:适用于 node 和 浏览器的 OAuth 1.0a 签名生成器。
  • amygdala:为 Web 应用提供 RESTful HTTP 客户端解决方案。
  • jquery.rest:一个让 RESTful API 更易用的 jQuery 插件。
  • Rails Ranger:为 Ruby Tails 接口设计的严格的 REST 客户端。
  • wretch:一款小巧的直觉语法系 fetch 功能封装包。
  • Bearer.sh:支持 OAuth / API Key / Basic 等协议的全能型 API 客户端。(已停止维护——译者注)
  • FarFetch:简单易用的现代 Fetch 接口封装,简化了文件上传。
  • Optic:Optic 用于对 API 自动测试和文档生成。
  • SWR:用于远端数据拉取的 React Hooks 库。

流媒体

  • Tailor:适用于前端微服务的流媒体布局服务,灵感来自 Facebook BigPipe。

视觉检测

  • tracking.js:在 web 上实现计算视觉的一种现代方法。
  • ocrad.js:基于 Emscripten 的 JavaScript OCR 实现。

机器学习

  • ConvNetJS:JavaScript 深度学习。在浏览器环境训练卷积神经网络(或者普通神经网络)。
  • DN2A:数字神经网络架构。
  • Brain.js:JavaScript 神经网络。
  • Mind.js:一款灵活的神经网络库。
  • Synaptic.js:适用于 Node.js 和浏览器的无架构神经网络库。
  • TensorFlow.js:一款用于在 浏览器和 Node.js 中训练和部署 ML 模型的 JavaScript 库。
  • ml5.js:友好的 Web 端机器学习库。
  • Synapses:轻量级跨平台神经网络库。

浏览器检测

  • bowser:一个浏览器检测器,特点是小巧快速且 API 丰富。

基准测试

  • benchmark.js:jsPerf.com 使用的基准测试库。
  • matcha:一款咖啡因驱动的基准测试简单实现。

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 表单验证库。
  • FormValidation:jQuery 最好的表单验证插件。曾用名 BootstrapValidator.
  • is.js:用于类型、正则表达式、是否存在、时间等检查。
  • FieldVal:多用途验证库。同时支持同步和异步验证。
  • Funval:函数接口式数据验证(支持 TypeScript)。

键盘封装器

  • 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 元素。
  • driver.js:用于聚焦用户注意力的强大却轻量的原生 JavaScript 引擎。

通知

  • iziToast:优雅、响应式、灵活且轻量的零依赖通知插件。
  • messenger:为应用添加 Growl-style 弹框和信息(Crowl 是 Mac OS X 下的一个通知系统)。
  • noty:jQuery 通知插件。
  • pnotify:适用于 Bootstrap、jQuery UI 和 Web Notifications Draft 的 JavaScript 通知库。
  • toastr:简单的 JavaScript 吐司通知库。
  • humane-js:一个简单、时髦的浏览器通知系统。
  • smoke.js:与框架无关的 JavaScript 弹框系统。
  • notie:简单的零依赖通知器和输入框。

幻灯片

  • Swiper:使用硬件加速动画的移动设备触控幻灯片框架。
  • slick:(可能是)你最爱的跑马灯轮播库。
  • slidesJs:响应式的 jQuery(1.7.1+)幻灯片插件,具有触摸、 CSS3 过渡等特性。(已停止维护——译者注)
  • FlexSlider:一款令人惊叹的、全响应式的 jQuery 幻灯片插件。
  • unslider:最简单的幻灯片 jQuery 插件。
  • sly:用于单向滚动的 JavaScript 库,支持基于项目的导航。(注:最后更新时间是 7 年前)
  • vegas:向页面添加漂亮的全屏背景的 jQuery 插件,同时也支持幻灯片播放。
  • Sequence:用于创建响应式的幻灯片、演示、标语和其他分步导览应用的 CSS 动画框架。
  • reveal.js:用 HTML 创建漂亮演示文档控件的框架。
  • impress.js:一款适用于现代浏览器,基于 CSS3 transforms 和 transitions 动画的演示文档框架。灵感来自 prezi.com 。
  • bespoke.js:一个超级小的(1KB min和gzip压缩),模块化的现代浏览器表示库,旨在促进一个丰富的插件生态系统。
  • Strut:Strut 是 Impress.js 和 Bespoke.js 演示文档编辑器。
  • PhotoSwipe:适用于移动设备和桌面电脑的、模块化和独立框架的 JavaScript 画廊控件。
  • jcSlider:基于 CSS 动画实现的响应式幻灯片 jQuery 插件。
  • basic-jquery-slider:易于使用、指定主题和定制化。
  • jQuery.adaptive-slider:带有自适应颜色标题和导航的幻灯片 jQuery 插件。
  • slidr:一个简单、轻量级的 JS 库,用于向页面添加幻灯片转换。无依赖关系。
  • Flickity:可触摸的、响应式的和可轻弹的画廊。
  • Glide.js:响应式触摸友好型 jQuery 幻灯片。特点是小快灵。
  • Embla Carousel:TypeScript 编写的一款可扩展的低级轮播库。

滑块控件

  • Ion.RangeSlider:强大的、易于自定义的范围滑块选择库,支持丰富的配置和皮肤。
  • jQRangeSlider:支持日期的滑块选择库。
  • noUiSlider:轻量无冗余的、高度定制化的滑块选择库。
  • rangeslider.js:HTML5 输入框滑块补丁。

表单组件

输入

  • typeahead.js:快速、功能齐全的自动补全库。
  • tag-it:处理多标签字段以及标签建议/自动补全的 jQuery UI 插件。
  • At.js:在应用中添加类似 Github 的自动补全提示功能。
  • Placeholders.js:HTML5 placeholder 属性 JavaScript 补丁。
  • fancyInput:添加 CSS3 效果,让输入更有趣。
  • jQuery-Tags-Input:利用这个 jQuery 插件,可奇妙地将一个简单的文本输入转换成一个酷酷的标签列表。
  • vanilla-masker:一个纯 JavaScript 实现的输入控制库。
  • Ion.CheckRadio:一个为复选框和单选按钮添加样式的 jQuery 库,支持多种皮肤。
  • awesomplete:零依赖、超轻量、好用而且漂亮的自动补全库。 - http://leaverou.github.io/awesomplete

日历

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

选择器

  • selectize.js:Selectize 是文本框和 <select> 的混合体。基于jQuery,兼具自动补全和原生键盘导航,可用于标签、联系人列表等。
  • select2:基于 jQuery,是选择框的替代品。支持搜索、远程数据集和无限滚动。
  • 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。
  • filepond:一款可以上传任何文件的 JavaScript 库,自动优化图片以实现更快的上传体验,提供无障碍、如丝般顺滑的用户体验。

其它

  • form:jQuery 表单插件。
  • Garlic.js:自动在本地保存表单文本和选择框的值,直到表单被提交。
  • Countable:对某个 HTML 元素包含文本的段落数、单词数和字符数进行统计的 JavaScript 函数。
  • card:只需一行代码,就能让信用卡表单变得更友好。
  • stretchy:自适应大小的 form 元素,表单本应该是这样的。
  • analytics:与任何第三方分析工具兼容的轻量级可扩展分析库,用于页面跟踪、用户事件跟踪和用户识别。

提示

  • tipsy:Facebook 风格适用于 jQuery 的提示工具。
  • opentip:开源且基于 prototype 框架的 JavaScript 工具提示库。
  • qTip2:非常强大的工具提示库。
  • tooltipster:一个工具提示 jQuery 插件。
  • simptip:用 Sass 制作的、简单的工具提示。
  • jquery-popup-overlay:是一个响应式的和可访问性强的模态框窗口和工具提示框 jQuery 插件。
  • toolbar:一款提示风格工具栏 jQuery 插件。
  • hint.css:一款 CSS 提示库。

模态框和弹出框

  • Magnific-Popup:专注于性能、轻量、响应式的灯箱(lightbox)脚本。
  • jquery-popbox:jQuery 提示框插件。
  • jquery.avgrund.js:一种新的定于弹出的模态框 jQuery 插件。
  • vex:新的、拥有高度可配置和易于改变样式功能的对话框库。
  • bootstrap-modal:对 Bootstrap 默认模态框类进行扩展。其支持响应式、可堆叠和 ajax 等。
  • css-modal:纯 CSS 打造的模态框。
  • jquery-popup-overlay:是一个响应式的和可访问性强的模态框和工具提示框(tooltips)jQuery 插件。
  • SweetAlert:JavaScript 原生警告弹窗很棒的替代品。
  • baguetteBox.js:原生 JavaScript 灯箱,简单又好用。
  • colorbox:一款适用于 jQuery 轻量可自定义的的灯箱插件。
  • fancyBox:一款用于放大图片、html 内容和多媒体的漂亮优雅的工具。
  • swipebox:一款支持触摸的 jQuery 灯箱。
  • jBox:jBox 是一款强大灵活的 jQuery 插件,用于管理弹窗、提示、通知等场景。
  • lightGallery:一款适用于 jQuery 的可自定义、模块化、响应式的灯箱画廊插件。
  • keukenhof:用于创建模态窗的轻量、零依赖、易用的 TypeScript 库。

滚动

  • scrollMonitor:监听元素滚动简单快速的 API。
  • headroom:除非你需要显示页面头部,否则将隐藏它,这样可以腾出页面头部空间。
  • onepage-scroll:使用这个单页滚动插件可以创建一个类似 Apple 的单页面滚动网站(iPhone 5S 风格)。
  • iscroll:高性能、轻量、无依赖、兼容多平台的 JavaScript 滚动组件。
  • skrollr:独立不依赖 jQuery 的视差滚动库,适用于移动设备(Android + iOS)和桌面电脑。
  • parallax:响应智能设备翻转的视差引擎。
  • stellar.js:让视差滚动变简单。
  • plax:jQuery 驱动的视差库。
  • jparallax:创建可交互视差效果的 jQuery 插件。
  • fullPage:简单和易于使用的、用于创建全屏滚动网站(也被称为单页面网站)的插件。
  • ScrollMenu:让老旧无聊的滚动条焕然一新。
  • Clusterize.js:用于展示大量数据的小巧的原生 JavaScript 插件
  • simpleParallax:用于在图片上添加视差动画的简单小巧的 JavaScript 库。
  • rellax:黄油般丝滑、超级轻盈的原生 JavaScript 视差库。

菜单

  • jQuery-menu-aim:当用户光标放在特定下拉菜单项时触发事件。可制作像 Amazon 那样的的响应式的、大数据量的下拉菜单。
  • jQuery contextMenu:上下文菜单管理工具。
  • Slideout:为移动设备的 web 应用制作出响应式、可触摸滑出的导航菜单。
  • Slide and swipe:一个基于 touchSwipe 库的滑出菜单插件。
  • mmenu:适用于 jQuery ,最佳的仿原生 app 可开关侧边栏菜单插件,适用于网页或者 webapp。

表格/栅格

  • jTable:基于 CRUD 表创建 AJAX 的 jQuery 插件。
  • DataTables:(jQuery 插件)这是一个非常灵活的工具,在渐进增强的基础上,将高级的交互效果添加到 HTML 表格上。
  • Tabulator:(jQuery 插件)一款极致灵活的库,用于从 JSON 数据源或者 HTML 表格创建可交互式表格。
  • Bootstrap Table:流行框架 Bootstrap 的扩展,无需添加新标记,创建自适应站点风格的表格
  • floatThead:(jQuery 插件)锁定表格头部,只允许表格内容滚动。适用于任何表格,而且不需要额外的 html 或 css。
  • Masonry:瀑布流式的栅格布局库。
  • Packery:使用装箱算法(bin-packing)的网格布局库,支持拖拽布局。
  • Isotope:可过滤和可排序的网格布局的库,它能实现 Masonry、Packery 等布局。
  • flexboxgrid:基于 CSS3 flexbox 的栅格。

框架

  • Semantic UI:拥有大量主题和元素的 UI 套件。
  • w2ui:一系列用于数据驱动网页应用的 jQuery 前端开发插件。
  • fluidity:全世界最小的全响应式 CSS 框架。
  • Ink:基于 HTML5/CSS3 的快速高效的网站设计和原型框架,SAPO 项目正在使用。
  • DataFormsJS:用于单页应用敏捷开发的超小的、独立组件的 JavaScript 框架。
  • EHTML:不写 JavaScript 的 HTML 框架。

Boilerplates

  • html5-boilerplate:一款用于构建快速、稳定、自适应网页应用和网站的专业前端模板。
  • mobile-boilerplate:一款用于构建快速、现代移动端网页应用的前端模板。
  • webplate:让开发者专注于站点和应用构建的超棒的前端框架。
  • Cerberus:简单、固定模式的响应式 HTML 邮件模板,也可在 Outlook 中使用。
  • full-page-intro-and-navigation:一款介绍页面模板,支持全宽背景、动画菜单、iOS 风格导航模糊特效。
  • Fluid-Squares:方块单元流式栅格布局。
  • Mobile-First-RWD:这是一个移动端优先响应式网页设计的样例。
  • this-is-responsive:这就是响应式。
  • npm run-scripts:npm run 脚本任务自动化。

手势

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

地图

  • 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 统一成一套。
  • flowplayerGithub:HTML5 视频播放器
  • mediaelementGithub:让 HTML5、 Flash 播放器和模仿 HTML5 媒体元素 API 的 Silverlight shim,在所有浏览器拥有一致的 UI。
  • SoundJS:让音频在 web 上运行更简单的库。它为不同浏览器提供了统一的 API。
  • video.js:开源的 HTML5 和 Flash 视频播放器。
  • FitVids.js:轻量易用,可自适应宽度的 jQuery 视频插件。
  • Ion.Sound:在任何页面上都能轻松地播放声音。
  • photobooth-js:用于在网站上编辑头像图片的小挂件。
  • clappr:网页上用的可扩展的媒体播放器 http://clappr.io
  • exifr:速度最快、功能最全的 EXIF 读取库 https://mutiny.cz/exifr/
  • ts-audio:易用的 AudioContext 接口封装库。
  • AmplitudeJS:开源的 HTML5 网页音频库。按你的要求来设计网页音频播放器,零依赖。

排版

  • FlowType.JS:业界最好的网页排版工具:以元素高度为基准定义字号和行高。
  • BigText:用于计算匹配特定行宽下字号和字间距的 jQuery 插件。
  • circletype:一款用于在网页上沿曲线显示文字的 jQuery 插件。
  • slabText:用于生成大且粗响应式大标题的 jQuery 插件。
  • simple-text-rotator:不需要添加额外标记,超级简单就能在网站上添加旋转文本的插件。
  • novacancy.js:Neon Golden 文字效果 jQuery 插件。
  • jquery-responsive-text:让文本自适应改变大小!
  • FitText.js:给越来越多的网页类型设计的 jQuery 插件。
  • Lettering.js:一款轻量易用的网页字体设置插件,利用 JavaScript 在字符上插入 <span> 标签实现对单个字符的样式配置。

动画

图片处理

  • lena.js:具有滤镜和实用功能的图像处理库。
  • pica:高质量地调整图片大小(使用快速、纯 JS 实现的 Lanczos 滤镜算法)。
  • cropper:一个简单的图像裁剪 jQuery 插件。

ES6

静态页面生成器

  • Gatsby.js:React 驱动的静态网站生成器。
  • Gridsome:Vue 驱动的静态网站生成器。
  • Docusaurus:Facebook 出品的 React 驱动的静态网站生成器,以内容为中心网站的理想形态。

SDK

大杂烩

  • echo:利用 data-* 属性延迟加载图片。
  • picturefill:响应式图片显示插件,使浏览器支持 srcset、size 属性。
  • platform.js:一个平台检测库,几乎适用于所有 JavaScript 平台。
  • json3:一个现代 JSON 实现库,几乎兼容所有 JavaScript 平台。
  • Logical Or Not:一个关于 JavaScript 特性的游戏。
  • BitSet.js:实现位向量的 JavaScript 库。
  • spoiler-alert:SPOILER 警告 !一款开心的 jQuery 小插件,用于隐藏页面上的 spoilers 。
  • jquery.vibrate.js:震动接口封装。
  • list.js:给表格、列表等众多 HTML 元素添加搜索、排序、过滤和自适应特性,零感知作用于已有的 HTML 。http://www.listjs.com
  • mixitup:一款过滤和排序的插件。
  • grid:用于二维可变大小响应式列表的拖拽库。
  • jquery-match-height:一款响应式等高 jQuery 插件。
  • survey.js:一款 JavaScript 调查引擎。用 JSON 作为调查元数据和结果。http://surveyjs.org/
  • Array Explorer and Object Explorer:帮助开发者选择哪一个原生 JavaScript 方法使用更佳。
  • Clipboard.js:无需 Flash 也无需使用框架实现“复制到剪贴板”功能。
  • ky:基于浏览器 Fetch 接口的小巧优雅的 HTTP 客户端。
  • Fcal:数学表达式计算器。
  • emoji-button:原生 JavaScript 表情包选择器组件。
  • iooxa:交互式科学写作、响应式文档和探索式说明组件。
  • Idyll:用于创建探索式说明和互动故事文章。可以插入 HTML 中.
  • javascript-algorithms:算法和数据结构的 JS 实现,包含详细解释和发散文章链接。

资源

有影响力的书

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


其他 Awesome 前端资源系列:

原文:https://github.com/jobbole/awesome-javascript-cn