其他 Awesome 列表
- sindresorhus/awesome
- MaximAbramchuck/awesome-interviews
- enaqx/awesome-react
- bayandin/awesome-awesomeness
- bolshchikov/js-must-watch
- jnv/list
- davidsonfellipe/awesome-wpo
- sotayamashita/awesome-css
- willianjusten/awesome-svg
- ericdouglas/ES6-Learning
- denolib/awesome-deno
- addyosmani/es6-tools
- apvarun/awesome-bun
- emijrp/awesome-awesome
- gianarb/angularjs
- peterkokot/awesome-jquery
- obetomuniz/awesome-webcomponents
- instanceofpro/awesome-backbone
- davidyezsetz/you-might-not-need-jquery-plugins
- peterkokot/awesome-dojo
MVC 框架和库
- vue - 直观、快速且可组合的 MVVM,用于构建交互式界面。
- react-native - 使用 React 构建原生应用的框架。
- angular - Angular 是一个开发平台,用于使用 Typescript/JavaScript 和其他语言构建移动和桌面 Web 应用。
- svelte - Svelte 是一种构建 Web 应用的新方式。它是一个编译器,将你的声明式组件转换为高效 JavaScript,精准更新 DOM。
- angular.js - 为 Web 应用增强的 HTML。(已弃用)
- meteor - 一个超简单、数据库无处不在、数据在线上、纯 JavaScript 的 Web 框架。
- preact - 快速 3kb 的 React 替代品,具有相同的 ES6 API。组件与虚拟 DOM。
- Alpine.js - 以更低的成本提供 Vue 或 React 等大型框架的响应式和声明式特性。
- backbone - 给你的 JS 应用一些 Backbone,包括 Models、Views、Collections 和 Events。
- GrapesJS - 免费开源的 Web 构建器框架。无需编码即可生成模板的下一代工具。
- nativescript - 使用 JavaScript 构建真正原生的跨平台 iOS 和 Android 应用。
- ember.js - 一个用于构建雄心勃勃的 Web 应用的 JavaScript 框架。
- hyperapp - 用于构建前端应用的 1kb JavaScript 库。
- Adonis - 高度关注开发者体验、稳定性和信心的 Node.js 框架。
- Million - <1kb 专注于编译器的虚拟 DOM。它很快!
- inferno - 🔥 一个极快的、类似 React 的 JavaScript 库,用于构建现代用户界面。
- feathers - 面向未来应用的极简实时 JavaScript 框架。
- riot - 类似 React 的库,但体积非常小。
- mithril.js - Mithril 是一个客户端 MVC 框架(轻量、健壮、快速)。
- Blockly - 一个由 Google 提供的库,为 Web 和移动应用添加可视化代码编辑器。
- Rete.js - 一个模块化的可视化编程框架,允许在浏览器中创建基于节点的编辑器。
- knockout - Knockout 让使用 JavaScript 创建丰富、响应式 UI 更加容易。
- litegraph.js - 类似 PD 或 UDK Blueprints 的图节点引擎和编辑器,自带 HTML5 Canvas2D 编辑器。
- marionette - 一个用于 Backbone.js 的复合应用库,旨在简化大型 JavaScript 应用的构建。
- Drawflow - 这使您能够轻松快速地创建数据流。
- ractive - 下一代 DOM 操作。
- derby - MVC 框架,使编写在 Node.js 和浏览器中运行实时协作应用变得容易。
- spine - 用于构建 JavaScript 应用的轻量级 MVC 库。
- rivets - 轻量且强大的数据绑定与模板解决方案。
- Remult - 用于全栈 TypeScript 的 CRUD 框架。
- way.js - 简单、轻量、持久的双向数据绑定。
- chaplin - 使用 Backbone.js 库的 JavaScript 应用架构。
- jsblocks - jsblocks 是更好的 MV 风格框架。
- canjs - 能更好地、更快地、更容易地处理 JS。
- ripple - 用于构建响应式视图的微型基础。
- thorax - 强化你的 Backbone。
- Lucia - 适用于小型 Web 应用的 3kb 库。
- espresso.js - 一个用于构建用户界面的极简 JavaScript 库。
- atvjs - 使用纯 JavaScript 进行极速 Apple TV 应用开发。
- Keo - 支持 Shadow DOM 的函数式无状态 React 组件。
- sprae - 无需构建步骤的响应式 HTML 属性,基于信号,支持 CSP 安全构建。
- Whatsup - 适合放松模式开发的前端框架 🥤。生成器上的 JSX 组件、类似 mobx 的快速状态管理以及独有的 cssx 样式系统。
- pion - 用于标准 Web 组件的 React Hooks API,基于 lit-html。
- derby-awesome - 一组很棒的 derby 组件。
- aurelia - 一个用于移动、桌面和 Web 的 JavaScript 客户端框架。
- react - 一个用于构建用户界面的库。它声明式、高效且极其灵活,配合虚拟 DOM 工作。
- FoalTS - 优雅且全能的 Node.JS 框架,用于构建 Web 应用(TypeScript)。
其他
- javascript-algorithms - 用 JavaScript 实现的算法和数据结构,附有解释和进一步阅读的链接。
- FingerprintJS - 从浏览器指纹生成访客标识符,该标识符在隐身模式下以及浏览器数据被清除时保持不变。
- rrweb - 将 DOM 和用户交互记录为类型化的 JSON 事件流,并以像素级精度重放。
- ky - 基于浏览器 Fetch API 的轻巧优雅的 HTTP 客户端。
- list.js - 为表格、列表和各种 HTML 元素添加搜索、排序、过滤和灵活性。设计为不可见并作用于现有 HTML。
- picturefill - 一个响应式图片 polyfill,支持 <picture>、srcset、sizes。
- Peg.js - 一个简单的 JavaScript 解析器生成器,可生成具有出色错误报告的高性能解析器。可从浏览器、命令行或通过 JavaScript API 使用。
- SurveyJS - SurveyJS 是一个 JavaScript 调查和表单库。https://surveyjs.io/
- mixitup - MixItUp - 一个过滤和排序插件。
- echo - 使用 data-* 属性进行懒加载图片。
- platform.js - 适用于几乎所有 JavaScript 平台的平台检测库。
- jquery-match-height - 一个响应式等高 jQuery 插件。
- Array Explorer - 和 Object Explorer - 帮助确定在任何给定时间最适合使用的原生 JavaScript 方法的资源。
- Idyll - 创建可探索的解释和交互式叙事文章。可嵌入 HTML。
- jsemu - 用 JavaScript 编写的模拟器列表。
- emoji-button - 原生 JavaScript 表情符号选择器组件。
- json3 - 兼容几乎所有 JavaScript 平台的现代 JSON 实现。
- spoiler-alert - 剧透警告!一个快乐的小 jQuery 插件,用于隐藏网站上的剧透内容。
- BitSet.js - 一个 JavaScript 位向量实现。
- enum-plus - 原生 TypeScript 枚举的直接增强,添加显示文本、国际化和完全类型安全。
- iooxa - 用于交互式科学写作、响应式文档和可探索解释的组件。
- jquery.vibrate.js - Vibration API 封装
- lune - 精确计算月相的库。
- Fcal - 数学表达式求值器。
- Logical Or Not - 关于 JavaScript 特性的游戏。
- grid - 用于二维、可调整大小和响应式列表的拖放库。
- Clipboard.js - 无需 Flash 或框架的“复制到剪贴板”。
值得阅读
- You Don't Know JS - 可能是关于现代 JavaScript 的最佳书籍,完全免费在线阅读,也可购买以支持作者。
- Clean Code JavaScript - 适用于 JavaScript 的 Clean Code 概念。
- Functional-Light JavaScript - JavaScript 中务实、平衡的函数式编程。
- braziljs/js-the-right-way - 一份易读的 JS 最佳实践、公认编码标准及网络相关链接的快速参考。
- JSbooks - 免费 JavaScript 电子书目录。
- SJSJ - 简化 JavaScript 术语是一个社区驱动的项目,旨在用简单的语言解释当前 JavaScript 生态中的大量流行词汇。
- How to Write an Open Source JavaScript Library - 发布 JavaScript 开源库的全面步骤指南。
- Superhero.js - 关于创建、测试和维护大型 JavaScript 代码库的资源集合。
- JavaScript Tutorials - 从用户评级的多样化在线教程中在线学习 JavaScript。
- Roadmap.sh JavaScript Roadmap - 从社区来源的学习路线图中学习 JavaScript。
- JavaScript Info - 现代 JavaScript 教程,讲解简明。
生成器
数据可视化
- three.js - JavaScript 3D 库。
- d3 - 用于 HTML 和 SVG 的 JavaScript 可视化库。
- Chart.js - 使用 <canvas> 标签的简单 HTML5 图表。
- echarts - 企业级图表。
- fabric.js - JavaScript Canvas 库,SVG 到 Canvas(及 Canvas 到 SVG)解析器。
- recharts - 使用 React 和 D3 构建的重新定义的图表库。
- BabylonJS - 一个使用 HTML5 和 WebGL 构建 3D 游戏的框架。
- paper.js - 矢量图形脚本的瑞士军刀——Scriptographer 移植到 JavaScript 和浏览器,使用 HTML5 Canvas。
- Frappe Charts - 受 GitHub 启发的简单、现代、零依赖的 Web SVG 图表。
- G2 - 一个高度交互、数据驱动的统计图表可视化语法。
- G6 - 一个图可视化引擎。
- sigma.js - 一个专用于图形绘制的 JavaScript 库。
- svg.js - 一个用于操作和动画化 SVG 的轻量级库。
- raphael - JavaScript 矢量库。
- Cytoscape.js - 一个功能完备的图论库。
- trianglify - 使用 d3.js 的低多边形风格背景生成器。
- c3 - 基于 D3 的可复用图表库。
- two.js - 一个渲染器无关的二维绘图 API,用于 Web。
- dc.js - 多维图表,原生支持 crossfilter,使用 d3.js 渲染。
- metrics-graphics - 一个为简洁、规范的数据图形和布局而优化的库。
- nvd3 - 为 d3.js 构建可复用的图表和图表组件。
- Infographic - 下一代声明式信息图可视化引擎。
- mxGraph - 图表库,可快速创建交互式图形和图表应用,并能在其供应商支持的任何主流浏览器中原生运行。
- morris.js - 漂亮的时间序列折线图。
- rickshaw - 用于创建交互式实时图形的 JavaScript 工具包。
- heatmap.js - 基于 HTML5 canvas 的热力图的 JavaScript 库。
- Frappe Gantt - 一个简单、交互式、现代的 Web 甘特图库。
- flot - 用于 jQuery 的漂亮 JavaScript 图表。
- jointjs - 用于创建静态图表或完全交互式图表工具的图表库。
- epoch - 一个通用实时图表库。
- cubism - 一个用于可视化时间序列的 D3 插件。
- peity - 渐进式 <svg> 条形图、折线图和饼图。
- d3-cloud - 在 JavaScript 中创建词云。
- arbor - 一个使用 Web Workers 和 jQuery 的图形可视化库。
- G2Plot - 一个交互式且响应式的图表库,基于图形语法。
- vizzu - 用于动画数据可视化和数据故事的库。
- envisionjs - 动态 HTML5 可视化。
- g.raphael - 用于 Raphaël 的图表。
- jquery.sparkline - jQuery JavaScript 库的插件,用于直接在浏览器中生成小型迷你图。
- GraphicsJS - 一个轻量级 JavaScript 图形库,具有直观的 API,基于 SVG/VML 技术。
- d4 - 一个友好的、可复用的 D3 图表 DSL。
- chartist-js - 简单的响应式图表。
- vega - 一种可视化语法。
- visjs - 用于动态、基于浏览器的数据可视化的多个库。
- dimple.js - 由 d3 驱动的简单商业分析图表。
- cola.js - 用于通过基于约束的优化技术来编排 HTML5 文档和图表布局的库
API
- axios - 基于 Promise 的浏览器和 Node.js HTTP 客户端。
- React Query - 在 React 中用于获取、缓存和更新异步数据的 Hooks。
- SWR - 用于远程数据获取的 React Hooks 库。
- wretch - 一个基于 fetch 的轻量封装,语法直观。
- SWRV - 用于 Vue 的 stale-while-revalidate 数据获取。
- bottleneck - 一个强大的速率限制器,让限流变得简单。
- Optic - Optic 自动记录和测试你的 API。
- Vue Query - 在 Vue 中用于获取、缓存和更新异步数据的 Hooks。
- jquery.rest - 一个用于轻松消费 RESTful API 的 jQuery 插件。
- amygdala - 面向 JavaScript 驱动的 Web 应用的 RESTful HTTP 客户端。
- oauth-signature-js - 用于 Node 和浏览器的 JavaScript OAuth 1.0a 签名生成器。
- FarFetch - 现代 Fetch API 封装,简洁易用,支持简洁的文件上传。
- Rails Ranger - 一个针对 Ruby on Rails API 的固执己见的 REST 客户端。
测试框架
- Playwright - 使用单一 API 自动化 Chromium、Firefox 和 WebKit 的 Node.js 库。
- puppeteer - 由 Google Chrome 官方团队提供的 Headless Chrome Node.js API。
- jest - 无痛的 JavaScript 单元测试。
- phantomjs - 可脚本化的无头 WebKit。
- mocha - 面向 node.js 和浏览器的简单、灵活、有趣的 JavaScript 测试框架。
- ava - 🚀 未来主义的 JavaScript 测试运行器
- react testing library - 简单且完整的 React DOM 测试工具,鼓励良好的测试实践。
- jasmine - 无 DOM 的简单 JavaScript 测试框架。
- Supertest - 流行的 HTTP 断言库,用于测试 REST API,常与 Mocha 或 Jest 等其他测试框架配合使用。
- karma - 出色的 JavaScript 测试运行器。
- nightwatch - 基于 node.js 和 selenium webdriver 的 UI 自动化测试框架。
- TestCafe - 面向现代 Web 开发栈的自动化浏览器测试。
- webdriverio - 面向 Node.js 的下一代 WebDriver 测试自动化框架。
- Sinon.JS - 用于 JavaScript 的测试间谍、桩和模拟。
- Protractor - Protractor 是用于 AngularJS 应用的端到端测试框架。
- istanbul - 又一个 JS 代码覆盖率工具。
- chai - 适用于 node.js 和浏览器的 BDD / TDD 断言框架,可与任何测试框架搭配使用。
- casperjs - 用于 PhantomJS 和 SlimerJS 的导航脚本与测试工具。
- tape - 为 node 和浏览器生成 TAP 输出的测试工具。
- zombie - 使用 node.js 进行极速、全栈、无头浏览器测试。
- intern - 面向 JavaScript 的下一代代码测试栈。
- qunit - 易于使用的 JavaScript 单元测试框架。
- taiko - 一个提供简单 API 来自动化基于 Chromium 的浏览器的 Node.js 库。
- slimerjs - 一个运行 Gecko 的类 PhantomJS 工具。
- proxyquire - 对 nodejs 的 require 进行桩替换。
- expect.js - 面向 Node.JS 和浏览器的极简 BDD 风格断言。
- blanket - 一个简单的 JavaScript 代码覆盖率库,设计为易于安装和使用,适用于浏览器和 nodejs。
- DalekJS - 使用 JavaScript 进行自动化跨浏览器功能测试。
- totoro - 一个简单稳定的跨浏览器测试工具。
- Pocket Mocker - 浏览器内可视化网络模拟工具,支持 fetch/XHR 拦截。
- JSCover - JSCover 是测量 JavaScript 程序代码覆盖率的工具。
- prova - 基于 Tape 和 Browserify 的 Node 和浏览器测试运行器。
- interface-forge - 为 TypeScript 生成优雅、类型安全的模拟数据,支持工厂和 Faker 集成。
- Cypress - 适用于浏览器中及更广范围运行的任何内容的完整端到端测试框架。
- WebdriverI/O - 面向 Node.js 的下一代浏览器和移动自动化测试框架。
- Suites - 用于后端、支持控制反转和依赖注入的单元测试框架。
- Enzyme - Enzyme 是 React 的 JavaScript 测试工具,可更轻松地断言、操作和遍历 React 组件的输出。
动画
- animate.css - 一个跨浏览器的 CSS 动画库。易用到极致。
- particles.js - 一个用于创建粒子的轻量级 JavaScript 库。
- GreenSock-JS - 高性能 HTML5 动画,兼容所有主流浏览器。
- velocity - 加速的 JavaScript 动画。
- barbajs - 它帮助你在网站页面之间创建流畅平滑的过渡效果。
- Effeckt.css - 一个高性能的过渡和动画库。
- tsParticles - particles.js 的新改进版本,修复了错误并添加了许多新功能。
- Dynamic.js - 用于创建基于物理的 CSS 动画的 JavaScript 库。
- jquery.transit - 为 jQuery 提供超流畅的 CSS3 变换和过渡。
- bounce.js - 瞬间创建基于 CSS3 的美味动画。
- move.js - 基于 CSS3 的 JavaScript 动画框架。
- smoothState.js - 使用 jQuery 实现不突兀的页面过渡。
- textillate - 一个简单的 CSS3 文字动画插件。
- animatable - 一个属性,两个值,无限可能。
- typicaljs - 约 400 字节 🐡 的 JavaScript 动画打字效果。
- particles-bg - 一个轻量级的 React 粒子动画背景组件。
- shuffle-images - 以创意方式切换图片的最简单方法。
- TransitionEnd - TransitionEnd 是一个无偏见且跨浏览器的库,用于处理过渡事件。
- the-cube - The Cube 是一个 CSS3 过渡实验。
- Anime.js - 一个 JavaScript 动画引擎。
- Mo.js - Web 动态图形工具带。
- AutoAnimate - 用一行代码为你的应用添加动效。
基于 Node 的 CMS 框架。
- Strapi - 开源 Node.js Headless CMS,轻松构建可定制 API。
- Ghost - 简单、强大的发布平台。
- Reaction Commerce - 响应式 CMS,实时架构与设计。
- KeystoneJS - 强大的 CMS 和 Web 应用框架。
- Apostrophe - 具有内容编辑和基本服务的 CMS。
- PencilBlue - CMS 与博客平台。
- Factor - JavaScript CMS
- Cody - 带所见即所得编辑器的 CMS。
- We.js - 用于实时应用、网站或博客的框架。
- Nodizecms - 面向 CoffeeScript 爱好者的 CMS。
- Hatch.js - 带社交功能的 CMS 平台。
- TaracotJS - 基于 Node.js 的快速极简 CMS。
滑块
- reveal.js - 一个使用 HTML 轻松创建精美演示文稿的框架。
- Swiper - 支持硬件加速过渡的移动触摸滑块和框架。
- impress.js - 这是一个基于现代浏览器中 CSS3 变换和过渡能力的演示框架,灵感来源于 prezi.com 的理念。
- slick - 你最终需要的最后一个轮播。
- PhotoSwipe - 适用于移动端和桌面端的 JavaScript 图片画廊,模块化,框架无关。
- Embla Carousel - 一个可扩展的底层 Web 轮播组件,使用 TypeScript 编写。
- Glide.js - 响应式且支持触摸的 jQuery 滑块。它简单、轻量且快速。
- Flickity - 支持触摸、响应式、可滑动的画廊。
- FlexSlider - 一个出色的、完全响应式的 jQuery 滑块插件。
- bespoke.js - DIY 演示微框架
- Sequence - 用于创建响应式滑块、演示文稿、横幅和其他基于步骤应用的 CSS 动画框架。
- sly - 用于单向滚动并支持基于项目的导航的 JavaScript 库。
- Strut - Strut —— 一个基于 Impress.js 和 Bespoke.js 的演示文稿编辑器
- vegas - 一个 jQuery 插件,为你的网页添加美丽的全屏背景,甚至支持幻灯片。
- slidr - 添加一些幻灯片效果。
- basic-jquery-slider - 使用简单,主题简单,定制简单。
- jcSlider - 一个带有 CSS 动画的响应式滑块 jQuery 插件。
- jQuery.adaptive-slider - 一个 jQuery 插件,用于带有自适应彩色图注和导航的滑块。
- slidesJs - 一个响应式幻灯片插件,适用于 jQuery(1.7.1+),支持触摸和 CSS3 过渡。
打包器
WebSockets
函数式编程
- lodash - 一个提供一致性、定制性、性能和扩展功能的实用工具库。
- underscore - JavaScript 的实用工具带。
- ramda - 一个面向 JavaScript 程序员的实用函数库。
- lazy.js - 像 Underscore,但更懒。
- Sugar - 一个用于处理原生对象的 JavaScript 库。
- rambda - 比 Ramda 更快更小的替代品。
- mout - 模块化 JavaScript 工具。
- fxts - 惰性求值和并发。
- wild-wild-path - 支持通配符和正则表达式的对象属性路径。
- sweet-monads - 一个包含流行 monad 和惰性迭代器的实用工具库。
- preludejs - JavaScript 的硬核函数式编程。
样板文件
- html5-boilerplate - 一个专业的前端模板,用于构建快速、健壮且适应性强的 Web 应用或网站。
- Wasp - Wasp 是一种声明式领域特定语言,用于以更少的代码开发、构建和部署现代 JavaScript 全栈 Web 应用。
- Cerberus - 一些简单但可靠的响应式 HTML 邮件模式,即使在 Outlook 中也能正常显示。
- mobile-boilerplate - 一个前端模板,帮助你构建快速、现代的移动 Web 应用。
- this-is-responsive - This Is Responsive。
- webplate - 一个出色的前端框架,让你专注于构建网站或应用,同时保持极易使用。
- Mobile-First-RWD - 一个移动优先的响应式Web设计示例。
- full-page-intro-and-navigation - 一个带有全宽背景图片、醒目动画菜单和导航后方iOS风格模糊效果的介绍页面。
- Fluid-Squares - 一个由方形单元组成的流式网格。
- npm run-scripts - 使用 NPM run-scripts 实现任务自动化。
文件
- PDF.js - JavaScript 中的 PDF 阅读器。
- jsPDF - JavaScript PDF 生成。
- Papa Parse - 一个强大的 CSV 库,支持解析 CSV 文件/字符串,也支持导出为 CSV。
- diff2html - Git diff 输出解析器和漂亮的 HTML 生成器。
- File Viewer - 浏览器原生组件,无需服务器端转换即可预览文件。
- jBinary - 用于二进制文件的高级 I/O(加载、解析、操作、序列化、保存),具有描述文件类型和数据结构的声明式语法。
QA 工具
- prettier - Prettier 是一个固执己见的代码格式化器。
- husky - 防止糟糕的 git 提交、git 推送等。
- JavaScript Standard Style - 固执己见、无需配置的风格指南、风格检查器和格式化器。
- ESLint - 一个完全可插拔的工具,用于识别和报告 JavaScript 中的模式。
- JSHint - JSHint 是一个帮助检测 JavaScript 代码中错误和潜在问题的工具。
- JS-Beautifier - 用于格式化 JS 代码的 Npm CLI 和库。
- fallow - 在 JavaScript 和 TypeScript 项目中查找死代码、重复、循环依赖和复杂度热点。
- jscs - JavaScript 代码风格检查器。
- JSLint - 高标准、严格且有主见的代码质量工具,旨在只保留语言中的优秀部分。
- jsinspect - 检测复制粘贴和结构相似的代码。
- jsfmt - 用于格式化、搜索和重写 JavaScript。
- buddy.js - JavaScript 魔法数字检测。
- Rev-dep - 追踪导入、识别循环依赖、查找未使用代码、清理 node 模块——全部来自一个极速 CLI。
- Pre-evaluate code at buildtime - 在构建时预评估你的前端 JavaScript 代码。
日期
- dayjs - Day.js 是一个 2KB 的不可变日期库,是 Moment.js 的替代品,具有相同的现代 API。
- moment - 在 JavaScript 中解析、验证、操作和显示日期。
- date-fns - 现代 JavaScript 日期工具库。
- luxon - Luxon 是一个用于在 JavaScript 中处理日期和时间的库。
- ms.js - 极小的毫秒转换工具。
- timeago.js - 用于以
*** time ago语句格式化日期的简单库(小于 2kb)。 - moment-timezone - moment.js 的时区支持。
- jquery-timeago - 一个 jQuery 插件,可轻松支持自动更新的模糊时间戳(例如“4 分钟前”)。
- tempo - 解析、格式化和时区——Tempo 是一个针对原生 Date 对象的小型可摇树库。
- fecha - 轻量级日期格式化和解析(约 2KB)。旨在替代 moment.js 的解析和格式化功能。
- date - 面向人类的 Date()。
- timezone-js - 支持时区的 JavaScript Date 对象。使用 Olson zoneinfo 文件提供时区数据。
- map-countdown - 基于 Google Maps 构建的浏览器倒计时。
- countdown.js - 超级简单的倒计时。
ORM
- Prisma - 面向 Node.js 和 TypeScript 的下一代 ORM | PostgreSQL、MySQL、MariaDB、SQL Server、SQLite、MongoDB 和 CockroachDB。
- TypeORM - 适用于 TypeScript 和 JavaScript 的 ORM,可在 NodeJS、浏览器、Ionic、Cordova 和 Electron 平台上运行。
- Drizzle ORM - 无头 TypeScript ORM,但有头。可在 Node、Bun 和 Deno 上运行。
- Sequelize - 功能丰富的 ORM,适用于现代 Node.js 和 TypeScript | PostgreSQL、MySQL、MariaDB、SQLite、MS SQL Server、Snowflake、Oracle DB...
- Mongoose - 专为异步环境设计的 MongoDB 对象建模。
- Knex - 适用于 PostgreSQL、MySQL、CockroachDB、SQL Server、SQLite3 和 Oracle 的查询构建器,设计灵活、可移植且使用有趣。
- Kysely - 类型安全的 TypeScript SQL 查询构建器。
- MikroORM - 基于 Data Mapper、Unit of Work 和 Identity Map 模式的 Node.js TypeScript ORM。
- Objection.js - 一个基于 Knex.js 构建的 SQL 友好型 Node.js ORM,具有强大的关系支持。
编辑器
- quill - 一个带有 API 的跨浏览器富文本编辑器。
- CodeMirror - 浏览器内代码编辑器。
- ace - Ace(Ajax.org Cloud9 编辑器)。
- Draft.js - 一个用于构建文本编辑器的 React 框架。
- trix - 一个用于日常写作的富文本编辑器,由 Basecamp 开发。
- TinyMCE - JavaScript 富文本编辑器。
- medium-editor - Medium.com 所见即所得编辑器克隆版。
- jsoneditor - 一个基于 Web 的工具,用于查看、编辑和格式化 JSON。
- Summernote - 超级简单的 WYSIWYG 编辑器。
- wysihtml5 - 基于 HTML5 和渐进增强方法的开源富文本编辑器。采用复杂的安全概念,旨在通过避免不可维护的标签堆砌和内联样式来生成完全有效的 HTML5 标记。
- bootstrap-wysiwyg - 微型的兼容 Bootstrap 的所见即所得富文本编辑器。
- Squire - HTML5 富文本编辑器。
- pen - 享受实时编辑(+Markdown)。
- vim.js - Vim 的 JavaScript 移植版,带有持久的
~/.vimrc。 - EpicEditor - 一个可嵌入的 JavaScript Markdown 编辑器,支持分屏全屏编辑、实时预览、自动草稿保存、离线支持等。
- Trumbowyg - 一个轻量级且出色的 WYSIWYG JavaScript 编辑器。
- bootstrap-wysihtml5 - 简单、美观的 WYSIWYG 编辑器。
- editor - 一个 Markdown 编辑器,仍在开发中。
- jquery-notebook - 一个简单、干净且优雅的文本编辑器。灵感来自 Medium 的卓越之处。
- popline - Popline 是一个 HTML5 富文本编辑器工具栏。
- raptor-editor - Raptor,一个 HTML5 WYSIWYG 内容编辑器!
- ckeditor-releases - 适合所有人的最佳 Web 文本编辑器。
- Everright-formEditor - 一个可视化的拖放式低代码表单编辑器。
- esprima - 用于多用途分析的 ECMAScript 解析基础设施。
地图
- Leaflet - 用于移动端友好交互式地图的 JavaScript 库。
- Cesium - 开源 WebGL 虚拟地球和地图引擎。
- gmaps - 使用Google Maps最简单的方式。
- H3js - 由Uber移植到JavaScript的六边形分层地理空间索引系统,用于地理空间可视化。
- mapbox.js - Mapbox JavaScript API,一个 Leaflet 插件。
- jqvmap - jQuery 矢量地图库。
- polymaps - 一个免费的 JavaScript 库,用于在现代 Web 浏览器中创建动态、交互式地图。
- kartograph.js - 用于 Kartograph SVG 地图的开源 JavaScript 渲染器。
- OpenLayers3 - 一个高性能、功能丰富的库,满足你所有的地图需求。
ES6
- Babel (Formerly 6to5) - 将 ES6+ 代码转换为无运行时的原生 ES5。
- es6features - ECMAScript 6 特性概览。
- es6-cheatsheet - ES2015 [ES6] 速查表,包含技巧、诀窍、最佳实践和代码片段。
- Traceur compiler - ES6 特性 > ES5。包括类、生成器、Promise、解构模式、默认参数等。
- es6-features - ECMAScript 6:特性概览与对比。
- ECMAScript 6 compatibility table - 各种环境下所有 ECMAScript 6 特性的兼容性表。
类型检查器
- Zod - TypeScript 优先的 schema 验证,内置静态类型推断。
- Yup - JavaScript schema 构建器和验证器。
- TypL - JavaScript 类型检查器(Linter),侧重于类型推断。
- Hindley Milner Definitions - 使用类似 Haskell 的 Hindley Milner 类型签名对 JavaScript 函数进行运行时类型检查。
- TypeScript - JavaScript 的类型化超集,可编译为纯 JavaScript。
- Flow.js - 来自 Facebook 的 JavaScript 静态类型检查器。
- Hegel - JavaScript 静态类型检查器,侧重于类型推断和强类型系统。
通知
- notifire - 面向产品的开源通知基础设施。
- toastr - 简单的 JavaScript 吐司通知。
- noty - jQuery 通知插件。
- notie - 无依赖的简单通知和输入。
- messenger - 为你的应用提供 Growl 风格的警报和消息。
- pnotify - 适用于 Bootstrap、jQuery UI 和 Web Notifications Draft 的 JavaScript 通知。
- iziToast - 优雅、响应式、灵活且轻量的通知插件,无依赖。
- toastify-js - 用于更好通知消息的纯 JavaScript 库。
- humane-js - 一个简单、现代的浏览器通知系统。
- smoke.js - 与框架无关的 JavaScript 样式化警报系统。
视频/音频
- video.js - Video.js - 开源 HTML5 与 Flash 视频播放器。
- flv.js - 一个用纯 JavaScript 编写的 HTML5 Flash 视频(FLV)播放器,无需 Flash。
- hls.js - 一个实现 HTTP 直播流客户端的 JavaScript 库。它依赖 HTML5 视频和 MediaSource 扩展进行播放。
- mediaelement - 带有Flash和Silverlight垫片的HTML5 <audio>或<video>播放器,模拟HTML5 MediaElement API,在所有浏览器中提供一致的UI。http://www.mediaelementjs.com/
- clappr - 一个可扩展的 Web 媒体播放器 http://clappr.io
- FitVids.js - 一个轻量级、易于使用的 jQuery 插件,用于实现自适应宽度的视频嵌入。
- SoundJS - 一个让 Web 音频处理更简单的库。它为在不同浏览器中播放音频提供了一致的 API。
- ffmpeg.js - 针对浏览器内使用优化的 FFmpeg:更小的体积以加快加载、asm.js、性能调优等。
- flowplayer - 面向Web的HTML5视频播放器
- prettyembed.js - 为你的YouTube视频提供更美观的嵌入——具有高清预览图片、高级嵌入选项自定义以及可选的FitVids支持等优秀功能。
- ractive-player - 一个用于在 React.js 中制作交互式视频的库。
- Ion.Sound - 在任何网页上播放简单的声音。
- photobooth-js - 一个允许用户在你的网站上拍摄头像照片的组件。
- ts-audio - 一个与
AudioContextAPI 协作的、无偏见且易于使用的库。 - Play-em JS - Play'em 是一个 JavaScript 组件,通过在一个 HTML DIV 中嵌入多个播放器(包括 Youtube、Soundcloud 和 Vimeo)来管理音乐/视频轨道队列并播放歌曲序列。
- polyplayer - 用一个 API 控制 YouTube、Soundcloud 和 Vimeo 播放器。
- AmplitudeJS - 开源 HTML5 Web 音频库。按你的方式设计你的 Web 音频播放器。无需依赖。
滚动
- fullPage - 一个简单易用的插件,用于创建全屏滚动网站(也称为单页网站)。
- skrollr - 适用于移动端(Android + iOS)和桌面的独立视差滚动库。无需 jQuery。
- parallax - 响应智能设备方向的视差引擎。
- iscroll - iScroll 是一个高性能、体积小、无依赖、跨平台的 JavaScript 滚动器。
- headroom - 给您的页面留些空间。在需要之前隐藏您的页头。
- onepage-scroll - 使用 One Page Scroll 插件创建类似 Apple 的单页滚动网站(iPhone 5S 网站)。
- locomotive-scroll - 检测视口中的元素,并实现带视差的平滑滚动。
- Clusterize.js - 小巧的 vanilla JS 插件,轻松显示大型数据集。
- rellax - 极其流畅、超轻量级的原生 JavaScript 视差库。
- elevator.js - 终于,一个像真实电梯一样工作的“返回顶部”按钮。
- stellar.js - 视差滚动变得简单。
- stroll - 一组 CSS 列表滚动效果,通过 JavaScript 绑定到 DOM。
- scrollMonitor - 一个简单快速的 API,用于在滚动时监控元素。
- plax - 基于 jQuery 的视差效果。
- simpleParallax - 简单小巧的 JavaScript 库,可为任何图像添加视差动画。
- jparallax - 用于创建交互式视差效果的 jQuery 插件。
- asscroll - 一种混合平滑滚动方案,结合了虚拟滚动的性能优势和原生滚动的可靠性。
- ScrollMenu - 一个替代旧式无聊滚动条的新界面。
数据结构
- immutable-js - 不可变数据集合,包括 Sequence、Range、Repeat、Map、OrderedMap、Set 以及稀疏 Vector。
- mori - 一个在原生 JavaScript 中使用 ClojureScript 持久化数据结构及支持 API 的库。
- buckets - 一个完整、经过充分测试并有文档的 JavaScript 数据结构库。
- ngraph.graph - JavaScript 中的图数据结构。
- hashmap - 支持任意类型键的简单哈希映射实现。
- js-sdsl - 参照 C++ STL 实现的 JavaScript 标准数据结构库,支持 C++ 双向迭代器模式。
响应式编程
- RxJS - 一个用于 JavaScript 的响应式编程库。
- MobX - 用于简单、可扩展状态管理的 TFRP 库。
- Bacon - 用于 JavaScript 的 FRP(函数式响应式编程)库。
- Most.js - 高性能 FRP 库。
- concent - 绝对是 React 最❤️简单但⚡️强大的状态管理,可预测、渐进且高效。
- stunk - 一个框架无关的状态管理库,让你的应用状态保持干净简洁。它采用细粒度的状态模型,将状态拆分为独立、可管理的小块。
- Kefir - 受 Bacon.js 和 RxJS 启发的 JavaScript FRP 库,专注于高性能和低内存消耗。
- Highland - 重新思考 JavaScript 实用工具带,Highland 仅使用标准 JavaScript 和类似 Node 的流,轻松处理同步和异步代码。
- Cycle.js - 一个用于编写更简洁代码的函数式与响应式 JavaScript 库。
表单组件
- jQuery-File-Upload - jQuery 文件上传组件,支持多文件选择、拖放、进度条、验证以及图片、音频和视频预览。
- select2 - 一个基于 jQuery 的下拉框替代插件,支持搜索、远程数据集和结果无限滚动。
- chosen - 一个让冗长笨重的下拉框更友好的库。
- fullcalendar - 全尺寸拖放事件日历(jQuery 插件)。
- dropzone - Dropzone 是一个易于使用的拖放库,支持图片预览并显示美观的进度条。
- typeahead.js - 一个快速且功能齐全的自动补全库。
- filepond - 一个能上传任何内容的 JavaScript 库,可优化图片以加快上传速度,并提供出色、易用且流畅的用户体验。
- selectize.js - Selectize 是文本框和
<select>框的混合体。它基于 jQuery,具有自动补全和原生感的键盘导航;适用于标签、联系人列表等场景。 - tui.calendar - 一个功能齐全的 JavaScript 日程日历。现在你的服务拥有了可定制的日历。
- bootstrap-datepicker - 一个用于 @twitter bootstrap 的日期选择器,源自 Stefan Petre(eyecon.ro)的版本,由 @eternicode 改进。
- card - 用一行代码改进你的信用卡表单。
- Date Range Picker - 创建一个下拉菜单,用户可以从中选择一个日期范围。
- fine-uploader - 多文件上传插件,支持进度条、拖放和直接上传至 S3。
- Pikaday - 一个清新的 JavaScript 日期选择器 —— 轻量、无依赖、模块化 CSS。
- dat.GUI - 一个用于更改 JavaScript 变量的轻量级 GUI 控制器。
- pickadate.js - 移动端友好、响应式且轻量的 jQuery 日期和时间输入选择器。
- awesomplete - 超轻量、易用、美观的自动补全,零依赖。 - https://projects.verou.me/awesomplete/
- plupload - 一个处理文件上传的 JavaScript API,支持多文件选择、文件类型过滤、请求分块、客户端图片缩放,并通过 HTML 5、Silverlight 和 Flash 等不同运行时实现这些功能。
- At.js - 为你的应用添加类似 GitHub 的提及自动补全功能。
- form - jQuery 表单插件。
- FileAPI - 一套用于处理文件的 JavaScript 工具,支持多文件上传、拖放和分块上传,以及图片裁剪、缩放和按 EXIF 自动旋转。
- flow.js - 一个通过 HTML5 File API 提供多路同时、稳定、容错且可恢复/重启的文件上传的 JavaScript 库。
- rome - 一个可定制的日期(和时间)选择器。无依赖,可选 UI。
- analytics - 一个轻量、可扩展的分析库,旨在与任何第三方分析提供商配合使用,以跟踪页面浏览量、自定义事件和识别用户。
- Schedule-X - Material 设计事件日历。支持拖放、深色模式、多视图等。
- tag-it - 一个 jQuery UI 插件,用于处理多标签字段以及标签建议/自动补全。
- Garlic.js - 自动将表单中的文本和选择字段值保存在本地,直到表单提交。
- jQuery-Tags-Input - 使用这个 jQuery 插件,神奇地将简单的文本输入转换为酷炫的标签列表。
- fancyInput - 通过 CSS3 效果让输入框输入变得有趣。
- Duet Date Picker - Duet Design System 无障碍日期选择器的开源版本,符合 WCAG 2.1 无障碍标准。
- Countable - 一个为 HTML 元素添加实时段落、单词和字符计数的 JavaScript 函数。
- stretchy - 表单元素自动调整大小,理应如此。
- Placeholders.js - 一个用于 HTML5 placeholder 属性的 JavaScript polyfill。
- Ion.CheckRadio - 用于美化复选框和单选按钮的 jQuery 插件。支持皮肤。
- vanilla-masker - 一个纯 JavaScript 掩码输入。
控制流
- async - 适用于 Node 和浏览器的异步工具。
- Bluebird - 功能齐全的Promise库,专注于创新特性和性能。
- q - 用于在 JavaScript 中创建和组合异步 Promise 的工具。
- when - 一个可靠、快速的Promises/A+和when()实现,以及其他异步实用功能。
- step - 一个异步控制流库,使逻辑逐步执行变得简单。
- contra - 具有函数式风格的异步流控制。
- sporadic - 基于Promise的可组合并发抽象(如流、协程和类似Go的通道),适用于Node和浏览器引擎。
- ObjectEventTarget - 提供一个原型,为事件监听器添加支持(与浏览器中 DOM 元素的 EventTarget 行为相同)。
导览与指南
存储
- localForage - 离线存储,改进版。通过简单但强大的 API 封装 IndexedDB、WebSQL 或 localStorage。
- js-cookie - 一个简单、轻量的 JavaScript API,用于处理浏览器 Cookie。
- pouchdb - 受 Apache CouchDB 启发的 JavaScript 数据库,可在浏览器中良好运行。
- Dexie.js - Dexie.js 是 indexedDB 的封装库。
- store.js - 无需使用 cookie 或 flash 即可在所有浏览器中使用的 LocalStorage 包装器。底层使用 localStorage、globalStorage 和 userData 行为。
- NeDB - 适用于浏览器、nw.js、electron 的嵌入式持久化数据库。
- jquery-cookie - 一个简单、轻量的 jQuery 插件,用于读取、写入和删除 Cookie。
- Hoodie - 离线优先的后端,无需互联网连接即可在浏览器中运行。
- basket.js - 一个脚本和资源加载器,用于通过 localStorage 缓存和加载脚本。
- cross-storage - 跨域本地存储,带权限控制。
- lawnchair.js - 简单的客户端 JSON 存储。
- basil.js - 缺失的 JavaScript 智能持久化层。
- Cookies - JavaScript 客户端 Cookie 操作库。
- jStorage - jStorage 是一个简单的键值数据库,用于在浏览器端存储数据。
- DB.js - 基于 Promise 的 IndexDB 封装库。
- PostgreSQL Browser - 浏览器 PostgreSQL 游乐场,无需服务器,仅客户端和 pglite(postgresql wasm)。
- awesome-web-storage - 关于客户端存储你需要知道的一切。
- proxy-web-storage - 保持存储值的类型不变,并直接修改数组和对象。支持监听更改和设置过期时间。
- datavore - 一个用 JavaScript 编写的小型、快速的浏览器内数据库引擎。
- crumbsjs - 一个轻量级的原生 ES6 cookies 和 local storage JavaScript 库。
- sql.js - 通过 Emscripten 编译为 JavaScript 的 SQLite。
- bag.js - 一个缓存脚本和资源加载器,类似于 basket.js,但额外提供键值接口,并支持 localStorage / websql / indexedDB。
- Lovefield - Lovefield 是一个用于 Web 应用的关系数据库,由 Google 开发。
代码高亮
- Highlight.js - JavaScript 语法高亮器。
- shiki - 由 VS Code TextMate 语法驱动的代码高亮器。准确、可主题化,适用于 Node 或浏览器,非常适合 JS 和 TS。
- PrismJS - 轻量、健壮、优雅的语法高亮。
手势
- hammer.js - 一个用于多点触控手势的 JavaScript 库。
- Dragula - 拖放操作简单到令人难以置信。
- touchemulator - 在桌面上模拟触摸输入。
验证
- validator.js - 字符串验证和清理。
- jquery-validation - jQuery 验证插件。
- is.js - 检查类型、正则表达式、存在性、时间等。
- Parsley.js - 无需编写一行 JavaScript 即可验证你的表单前端。
- vest - 🦺 受单元测试启发的声明式表单验证框架。
- validate.js - 受 CodeIgniter 启发的轻量级 JavaScript 表单验证库。
- Funval - 使用函数接口进行数据验证(支持 TypeScript)。
- validatr - 跨浏览器 HTML5 表单验证。
- FieldVal - 多用途验证库。支持同步和异步验证。
- FormValidation - 用于验证表单字段的最佳 jQuery 插件。前身为 BootstrapValidator。
模态框与弹窗
- SweetAlert - JavaScript alert 的绝佳替代品。
- SweetAlert2 - JavaScript alert 的绝佳替代品。
- Magnific-Popup - 轻量且响应式的 lightbox 脚本,注重性能。
- fancyBox - 一个为网页中的图片、HTML 内容和多媒体添加缩放功能的优雅工具。
- screenfull.js - JavaScript 全屏 API,可将页面或任何元素带入全屏。它平滑了浏览器实现差异,因此您无需处理。
- lightGallery - 一个可定制、模块化、响应式的 jQuery 灯箱画廊插件。
- vex - 一个高度可配置且易于定制的现代对话框库。
- bootstrap-modal - 扩展默认的 Bootstrap Modal 类,支持响应式、可堆叠、Ajax 等特性。
- colorbox - 一个轻量、可定制的 jQuery lightbox 插件。
- baguetteBox.js - 用纯 JavaScript 编写的简单易用的 lightbox 脚本。
- swipebox - 一个支持触摸的 jQuery lightbox。
- css-modal - 一个纯 CSS 构建的模态框。
- jquery.avgrund.js - 一个采用新模态概念的 jQuery 弹窗插件。
- jBox - jBox 是一个强大且灵活的 jQuery 插件,处理你所有的弹窗、提示、通知等需求。
- jquery-popup-overlay - jQuery 插件,用于响应式且可访问的模态窗口和提示。
- jquery-popbox - jQuery PopBox UI 元素。
- keukenhof - 轻量级、无依赖、支持无障碍的 TypeScript 库,用于创建模态窗口。
电子表格
- HANDSONTABLE - Handsontable 是一个面向开发者的 JavaScript/HTML5 电子表格库。
- Luckysheet - Luckysheet 是一个类似 Excel 的在线电子表格,功能强大、配置简单且完全开源。
- Jspreadsheet CE - Jspreadsheet 是一个轻量级的原生 JavaScript 插件,用于创建令人惊叹的基于 Web 的交互式表格和电子表格,并兼容其他电子表格软件。
- RevoGrid - RevoGrid 是一个快速、响应式的类 Excel 数据网格库,适用于现代 Web 应用。
- Frappe Datatable - Frappe DataTable 是一个简单、现代且交互式的数据表格库,用于展示表格数据。
模板引擎
- Pug - 健壮、优雅、功能丰富的 Node.js 模板引擎(原名 Jade)。
- handlebars.js - Mustache 模板语言的扩展。
- mustache.js - JavaScript 中使用 的极简模板。
- marko - 基于 HTML 的快速轻量模板引擎,适用于 Node.js 和浏览器,支持异步、流式、自定义标签,并编译输出 CommonJS 模块。
- EJS - 高效的 JavaScript 模板。
- hogan.js - Mustache 模板语言的编译器。
- doT - 适用于 Node.js 和浏览器的最快且简洁的 JavaScript 模板引擎。
- swig - (已归档)简单、强大且可扩展的 Node.js 和基于浏览器的 JavaScript 模板引擎。
- dustjs - 适用于浏览器和 Node.js 的异步模板。
- JavaScript-Templates - <1KB 轻量、快速且强大的 JavaScript 模板引擎,零依赖。
- eco - 嵌入式 CoffeeScript 模板。
- t.js - 约 400 字节 gzip 的微型 JavaScript 模板框架。
- xtemplate - 适用于 Node 和浏览器的可扩展模板引擎库。
- nunjucks - 来自 Mozilla 的丰富而强大的 JavaScript 模板语言。
- hmpl - 面向服务器的可定制 JavaScript 模板。
加载状态
- SpinKit - 一组用 CSS 动画化的加载指示器。
- pace - 自动为你的网站添加进度条。
- Spin.js - 一个旋转的活动指示器。
- progressbar.js - 带有动画 SVG 路径的漂亮且响应式的进度条。
- Ladda - 带有内置加载指示器的按钮。
- css-loaders - 一组用 CSS 动画化的加载旋转器。
- nanobar - 非常轻量的进度条。无需 jQuery。
- progress.js - 为页面上的每个对象创建和管理进度条。
- Mprogress.js - 创建 Google Material Design 进度线性条。
- PageLoadingEffects - 使用 SVG 动画揭示新内容的现代方式。
- topbar - 小巧且美观的全站进度指示器。
- NProgress - 适用于 Ajax 应用的细进度条。
安全
- DOMPurify - 一个仅限DOM、超快、高度容忍的XSS清理器,适用于HTML、MathML和SVG。
- js-xss - 使用白名单配置清理不受信任的 HTML(以防止 XSS)。
- sanitize-html - sanitize-html 提供了一个具有清晰 API 的简单 HTML 清理器。
- xss-filters - Yahoo的安全XSS过滤器。
- pompelmi - 用于 Node.js 的快速文件上传恶意软件扫描。
包管理器
- Bower - 面向 Web 的包管理器。
- component - 用于构建更佳 Web 应用的客户端包管理。
- jspm - 无摩擦的浏览器包管理。
- Duo - 下一代包管理器,融合 Component、Browserify 和 Go 的最佳理念,让前端代码的组织与编写快速而轻松。
- Ender - 无库之库。
- jam - 使用面向浏览器且兼容 RequireJS 的仓库的包管理器。
- volo - 从模板创建前端项目、添加依赖并自动化生成的项目。
- spm - 全新的静态包管理器。
- npm - npm 是 JavaScript 的包管理器。
- yarn - 快速、可靠且安全的依赖管理。
- pnpm - 快速且节省磁盘空间的包管理器。
- bun - Bun 是一个快速的 JavaScript 一体化工具包。
加载器
- browserify - 以 Node.js 方式在浏览器端实现 require()。
- systemjs - 符合 AMD、CJS 和 ES6 规范的模块加载器。
- RequireJS - 用于 JavaScript 的文件和模块加载器。
- SeaJS - 面向 Web 的模块加载器。
- HeadJS - HEAD 中唯一的脚本。
- script.js - 异步 JavaScript 加载器和依赖管理器。
- lazyload - 轻量、无依赖的异步 JavaScript 和 CSS 加载器。
- ESL - 模块加载器优先浏览器,支持懒定义和 AMD。
- LodJS - 基于 AMD 的模块加载器。
- modulejs - 轻量级 JavaScript 模块系统。
全文搜索
- flexsearch - 它是面向浏览器和 Node.js 的下一代全文搜索库。
- lunr - 用于浏览器的库,它索引 JSON 文档,并提供简单的搜索界面来检索与文本查询最匹配的文档。
- Elasticlunr - 该库基于 lunr.js,但更灵活且可定制。
Web Worker
- partytown - 将资源密集型第三方脚本从主线程迁移到 Web Worker 中。
- comlink - Comlink 是一个微型库(1.1kB),消除了对 postMessage 的思维障碍,并隐藏了你在与 worker 打交道的事实。
- greenlet - 将异步函数移动到其自己的线程中。
- workerize - 将模块移动到 Web Worker 中,自动将导出的函数反射为异步代理。
- threads.js - 使用统一 API 将 CPU 密集型任务卸载到 node.js、Web 浏览器和 Electron 中的 worker 线程。
- worker-dom - 一个进行中的 DOM API 实现,旨在 Web Worker 内运行。
- workerpool - 将任务卸载到 node.js 和浏览器中的 worker 池。
- workly - 一种将函数或类移动到 Web Worker 的非常简单的方法。
- stockroom - 轻松将你的状态管理卸载到 worker。
- clooney - Clooney 是一个面向 Web 的 actor 库。使用 worker 而无需考虑 worker。
键盘包装器
- mousetrap - 用于在 JavaScript 中处理键盘快捷键的简单库。
- keymaster - 一个用于定义和分发键盘快捷键的简单微库。
- Keypress - 一个键盘输入捕获工具,其中任何键都可以作为修饰键。
- jquery.hotkeys - jQuery Hotkeys 允许你在代码中的任何位置监听键盘事件,支持几乎所有的键组合。
- KeyboardJS - 一个用于绑定键盘组合的 JavaScript 库,无需处理键码和键组合冲突。
- jwerty - 出色的键盘事件处理。
SDK
- OpenAI SDK - OpenAI API 的官方 JavaScript / TypeScript 库。
- Stripe Node.js SDK - Stripe Node.js SDK 让你在 JavaScript/TypeScript 应用中集成支付、订阅和计费功能。
- javascript-sdk-design - 从工作和个人经验中提炼的 JavaScript SDK 设计指南。
- Social SDK - 类型化的 JavaScript 和 TypeScript 客户端,用于在 Node.js 和 Bun 上跨社交平台发布和读取内容。
- Spotify SDK - 面向实体的 SDK,用于与 Spotify Web API 交互。
- Square Node.js SDK - 用于支付及其他 Square API 的 JavaScript 客户端库。
机器学习
- ConvNetJS - JavaScript 中的深度学习。在浏览器中训练卷积神经网络(或普通神经网络)。
- Brain.js - JavaScript 中的神经网络。
- Synaptic.js - 适用于 Node.js 和浏览器的无架构神经网络库。
- m2cgen - 一个 CLI 工具,将训练好的经典机器学习模型转译为零依赖的原生 JavaScript 代码。
- Mind.js - 一个灵活的神经网络库。
- JS-PyTorch - GPU 加速的 PyTorch JavaScript 版本。
- DN2A - 数字神经网络架构。
- Synapses - 轻量级跨平台神经网络库。
- TensorFlow.js - 一个用于在浏览器和 Node.js 中训练和部署 ML 模型的 JavaScript 库。
- ml5.js - 面向 Web 的友好机器学习。
颜色
- chroma.js - 用于各种颜色操作的 JavaScript 库。
- colors - Web 颜色的更智能默认值。
- randomColor - 一个用于 JavaScript 的颜色生成器。
- TinyColor - 快速、小巧的 JavaScript 颜色操作和转换库。
- color - JavaScript 颜色转换和操作库。
- Vibrant.js - 从图像中提取显著颜色。
- PleaseJS - 用于创建随机悦目颜色和配色方案的 JavaScript 库。
- color-space - 在 162 种色彩空间(OKLCH、CAM16、Munsell、相机日志)之间进行转换,并附有引用参考。
数字
- Numeral-js - 用于格式化和操作数字的 JavaScript 库。
- odometer - 轻松平滑地过渡数字。
- chance.js - JavaScript 随机生成器辅助工具,可生成数字、字符串等。
- Fraction.js - 一个用于 JavaScript 的有理数库。
- Complex.js - 一个用于 JavaScript 的复数库。
- Quaternion.js - 一个用于 JavaScript 的四元数库。
- Polynomial.js - 一个用于 JavaScript 的多项式库。
- accounting.js - 一个用于数字、货币和货币格式化的轻量级 JavaScript 库——完全可本地化,零依赖。
- money.js - 一个极小的(1kb)JavaScript 货币转换库,适用于 Web 和 NodeJS。
视觉检测
- tracking.js - 一种面向 Web 计算机视觉的现代方法。
- ocrad.js - 通过 Emscripten 在 JavaScript 中实现 OCR。
表格/网格
- flexboxgrid - 基于 CSS3 flexbox 的网格。
- floatThead - (jQuery 插件)在正文滚动时锁定任何表格的页眉。适用于任何表格,无需自定义 HTML 或 CSS。
- jTable - 一个用于创建基于 AJAX 的 CRUD 表格的 jQuery 插件。
- DataTables - (jQuery 插件)一个高度灵活的工具,基于渐进增强原则,可为任何 HTML 表格添加高级交互控件。
- Tabulator - (jQuery 插件)一个极其灵活的库,可从任何 JSON 数据源或现有 HTML 表格创建具有一系列交互功能的表格。
- Bootstrap Table - 流行 Bootstrap 框架的扩展,用于创建适合您网站风格的表格,无需额外标记。
- Masonry - 一个级联网格布局库。
- Packery - 一个使用装箱算法的网格布局库。可用于可拖拽布局。
- Isotope - 一个可过滤、可排序的网格布局库。可实现 Masonry、Packery 和其他布局。
国际化与本地化
- i18next - 使用 JavaScript 轻松实现国际化(i18n)。
- polyglot - 微型 i18n 辅助库。
- attranslate - 用于同步翻译文件的 JavaScript 工具,支持 JSON、YAML、XML 等格式。
- ttag - 基于 ES6 标签模板和经典 GNU gettext 的现代 JavaScript 本地化库。
- babelfish - 具有友好API和内置复数支持的i18n。
提示
图片
- SnapDOM - 快速、无依赖的 DOM 转图像捕获(PNG、JPG、WebP、SVG),支持 PDF 和矢量 SVG 插件。
- Panolens.js - Panolens.js 是一个基于事件驱动和 WebGL 的全景查看器。轻量且灵活。
- Drift - 轻松为网站图片添加“悬停缩放”功能。轻量级、无依赖的JavaScript。
- Magnificent.js - 使用jQuery响应式缩放图片及更多内容。
菜单
- Slideout - 用于移动 Web 应用的响应式触摸滑出导航菜单。
- jQuery-menu-aim - 当用户光标瞄准特定下拉菜单项时触发事件的 jQuery 插件。用于制作类似 Amazon 的响应式超级下拉菜单。
- mmenu - 最佳 jQuery 插件,为您的网站和 Web 应用提供类似应用的画布内外菜单,带有滑动子菜单。
- jQuery contextMenu - contextMenu 管理器。
- Slide and swipe - 与 touchSwipe 库配合使用的滑动滑动菜单。
路由
- page.js - 受 Express 路由器启发的微型客户端路由器(约 1200 字节)。
- director - 一个微型且同构的 JavaScript URL 路由器。
- crossroads - JavaScript 路由。
- pathjs - 适用于Web浏览器的简单、轻量级路由。
- navaid - 一个约 850 字节的浏览器导航辅助工具(即路由器)。
- davis.js - 使用pushState的RESTful可降级JavaScript路由。
- speedy-router - 为更快的导航和SSR重新构建的TanStack Router API。
图像处理
时间线
- timesheet.js - 用于简单 HTML5 和 CSS3 时间表的 JavaScript 库。
- TimelineJS v3 - 用 JavaScript 构建的叙事时间线。
字符串
- query-string - 解析和序列化 URL 查询字符串。
- URI.js - JavaScript URL 变更库。
- he - 一个用 JavaScript 编写的健壮 HTML 实体编码器/解码器。
- voca - 终极 JavaScript 字符串库
- underscore.string - Underscore.js JavaScript 库的字符串操作扩展。
- sprintf.js - 一个 sprintf 实现。
- string.js - 额外的 JavaScript 字符串方法。
- multiline - JavaScript 中的多行字符串。
- url-pattern - 比正则表达式更简单的 URL 和其他字符串匹配模式。将字符串转换为数据或将数据转换为字符串。
- jsurl - 使用 JavaScript 进行轻量级 URL 操作。
- url-state-machine - 用于 Node.js 的超快、符合规范的 URL 解析器状态机。
- plexis - 低保真、强大、社区驱动的字符串操作库。
- selecting - 一个允许你访问用户所选文本的库。
排版
- FitText.js - 一个用于放大 Web 文字的 jQuery 插件。
- Lettering.js - 一个轻量、易用的 JavaScript
<span>注入器,用于激进的 Web 排版。 - FlowType.JS - Web 排版的极致:基于元素宽度的字体大小和行高。
- slabText - 一个用于生成大号、粗体且响应式标题的 jQuery 插件。
- BigText - jQuery 插件,计算使一行文本匹配特定宽度所需的字体大小和字间距。
- simple-text-rotator - 用极少标记为你的网站添加超级简单的旋转文字。
- circletype - 一个让你在 Web 上弯曲文字的 jQuery 插件。
- novacancy.js - 文字霓虹金色效果的 jQuery 插件。
- jquery-responsive-text - 让你的文字大小响应式!
范围滑块
- noUiSlider - 一个轻量、高度可定制的范围滑块,无冗余功能。
- Ion.RangeSlider - 功能强大且易于定制的范围滑块,支持多种选项和皮肤。
- rangeslider.js - HTML5 input range 滑块元素的 polyfill。
- jQRangeSlider - 一个支持日期的 JavaScript 滑块选择器。
基准测试
- benchmark.js - 一个基准测试库。如 jsPerf.com 所用。
- bencher - 一套持续基准测试工具,旨在捕获 CI 中的性能回退。
- matcha - 一种由咖啡因驱动、简单直接的基准测试方法。
流式
- Markstream - 适用于 Vue、React、Svelte 和 Angular 的 AI 聊天界面流式 Markdown 渲染器。
- Tailor - 受 Facebook 的 BigPipe 启发,用于前端微服务的流式布局服务。
日志
- log - 带样式的 Console.log。
- loglevel - 极简轻量的JavaScript日志记录,添加可靠的日志级别方法以包装任何可用的console.log方法。
- console.log-wrapper - 在任何浏览器中清晰地将日志输出到控制台。
- Conzole - 一个用 JavaScript 构建的调试面板,将 JavaScript 原生 console 对象的方法和功能封装在页面内显示的面板中。
- minilog - – 轻量级客户端和服务器端日志记录,带有Stream-API后端。
- storyboard - 通用日志库 + Chrome 扩展;它让你在单个位置查看由用户操作触发的所有客户端和服务器任务。
- LogTape - 零依赖的简单日志库,适用于 Deno、Node.js、Bun、浏览器和边缘函数。
文档
- ESDoc - 是一个适用于 JavaScript 的优秀文档生成器。
- codecrumbs - 是一个通过在源代码中放置面包屑来学习和记录代码库的可视化工具。
- dox - 是一个用 node 编写的 JavaScript 文档生成器。Dox 不再为你的文档生成固定的结构或风格,它只提供 JSON 表示,允许你使用 markdown 和 JSDoc 风格的标签。
- jsduck - 为 Sencha JavaScript 框架设计的 API 文档生成器,但也可用于其他框架。
- Ronn - 构建手册。它将简单、可读的文本文件转换为 roff 格式用于终端显示,也转换为 HTML 用于网页。
- Beautiful docs - 是一个基于 markdown 文件的文档查看器。
- jsdox - 是一个 JSDoc3 到 Markdown 的文档生成器。
- DevDocs - 一个一体化 API 文档阅读器,具有快速、有序且一致的界面。
- docco - 是一个快速而简陋、约百行、文学编程风格的文档生成器。
- styledocco - 从样式表生成文档和样式指南文档。
- YUIDoc - 是一个 Node.js 应用程序,使用类似于 Javadoc 和 Doxygen 的语法,从源代码中的注释生成 API 文档。
- coddoc - 是一个 jsdoc 解析库。Coddoc 的不同之处在于它易于扩展,允许用户通过 coddoc.addTagHandler 和 coddoc.addCodeHandler 添加标签和代码解析器。coddoc 还解析源代码以用于 API。
- sphinx - 一个能轻松创建智能且美观文档的工具
- documentation.js - 支持 ES2015+ 和 flow 注解的 API 文档生成器。
生成式 AI
框架
- fluidity - 世界上最小的全响应式CSS框架。
- EHTML - 允许你不编写 JavaScript 代码的 HTML 框架。
- DataFormsJS - 一个极简的JavaScript框架和独立组件,用于快速开发网站和SPA。
- Semantic UI - 包含大量主题和元素的 UI 套件。
- w2ui - 一组用于数据驱动 Web 应用前端开发的 jQuery 插件。
- Ink - SAPO 使用的 HTML5/CSS3 框架,用于快速高效的网站设计和原型制作。
游戏引擎
- A-Frame - 构建 WebVR。
- Cocos - 开源跨平台游戏开发框架。
- Impact - Impact - HTML5 Canvas 与 JavaScript 游戏引擎。
- GDevelop - 免费且易用的游戏制作应用。
- Kaboom.js - 帮助您快速有趣地制作游戏的游戏编程库。
- Matter.js - 2D 刚体 JavaScript 物理引擎。
- melonJS - 开源 HTML5 游戏引擎,让开发者和设计师专注于内容。
- Phaser - Phaser - 快速、有趣且免费的开源 HTML5 游戏框架。
- PixiJS - HTML5 创建引擎。
- PlayCanvas - PlayCanvas WebGL 游戏引擎。
文章与帖子
- The JavaScript that you should know - 关于 JavaScript 函数式概念的文章。
- Multi-threading using web-workers - Web Workers:为 JavaScript 添加多线程
- this keyword in JavaScript - 深入解析 JavaScript 中的 'this' 关键字