前言

在研制周期严重的布景下,切记要避免时刻开销在无用工作上 (比如造轮子) 怎么有效承认是否已有轮子,本篇文章做一个list来协助大家。只需要记住下面的库就能够解决工作中95%日常问题。

以下一切链接均为源代码库房 。

– —

修改器

  • 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 支撑。

函数式编程

  • underscore:JavaScript 的有用东西。
  • lodash:供给一致性、可定制、高功用和额定功用的有用库。
  • Sugar:一个扩展了原生目标功用的 JavaScript 库。
  • lazy.js:相似 Underscore,但功用更优越
  • ramda:一个针对 JavaScript 程序员的有用函数库。
  • mout:模块化的 JavaScript 东西库。
  • mesh:流数据同步东西。
  • preludejs:JavaScript 硬核函数式编程。
  • rambda:Ramda 快速细巧的替代品。

呼应式编程

  • RxJs:对 JavaScript 进行呼应式扩展。
  • Bacon:JavaScript 的 FPR(函数式呼应式编程)库。
  • Kefir:受 Bacon.js 和 RxJS 启示的 FRP 库,专注于高功用和低内存消耗。
  • Highland:对 JavaScript 有用东西的重新思考,Highland 能轻易地管理同步和异步信息,并且仅运用规范 JavaScript 和类 Node 流。
  • Most.js:高功用 FRP 库。
  • 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:从图画提取首要色彩。

国际化和本地化

  • 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 功用封装包。
  • 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:一款咖啡因驱动的基准测验简略完成。

动画

  • velocity:加速 JavaScript 动画。
  • jquery.transit:具有超级流通的 CSS3 改换和过渡作用的 jQuery 插件。
  • impess.js:在 HTML 文档里,运用 CSS3 改换和过渡制造相似 Prezi 的展示作用。
  • bounce.js:能够马上创立有趣的 CSS3 动画。
  • GreenSock-JS:适用于一切干流浏览器的高功用 HTML5 动画。
  • TransitionEnd:TransitionEnd 是一个运用 transitonend 事情的、跨浏览器的库。
  • Dynamics.js:用于创立契合物理运动规律的 CSS 动画库。
  • the-cube:The Cube 是一个 CSS3 过渡作用实验。
  • Effeckt.css:一款高功用过渡动画库。
  • animate.css:要多易用有多易用的跨浏览器 CSS 动画库。
  • textillate:适用于 CSS3 文本动画的简略插件。
  • move.js:根据 CSS3 的 JavaScript 动画结构。
  • animatable:一个属性,两个值,无量个可能性。
  • shuffle-images:简略有创意地打乱图片。www.thepetedesign.com/demos/shuff…
  • smoothState.js:免打扰式页面过渡 jQuery 库。smoothstate.com/
  • Anime.js:一款 JavaScript 动画引擎。animejs.com
  • particles.js:用于创立粒子的轻量 JavaScript 库。
  • tsParticles:particles.js 全新升级版别,修正了 bug ,增加许多新功用。
  • particles-bg:一款轻量的粒子运动动画布景 React 组件。

图片处理

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

最后

历史文章

  • 有必要知道的JavaScript库 – 可视化库