前言在研发周期紧张的情况下,切记避免把时间花在无用的工作上(比如造轮子)Howto有效确认是否有轮子,本文列一个清单帮助大家。只需记住以下库即可解决95%的日常工作问题。下面的所有链接都是源代码存储库。----Editorace:Ace,即Ajax.orgCloud9Editor。CodeMirror:一个用JS实现的浏览器端代码编辑器。esprima:用于多用途分析的ECMAScript解析器。quill:具有API的跨浏览器富文本编辑器。medium-editor:Medium.com使用的WYSIWYG编辑器的克隆。pen:享受在线编辑(支持markdown)。jquery-notebook:一个易于使用、简单而优雅的文本编辑器。灵感来自Medium。bootstrap-wysiwyg:一个小型的、与bootstrap兼容的WYSIWYG富文本编辑器。ckeditor-releases:适合所有人的网络文本编辑器。editor:降价编辑器,但仍在开发中。EpicEditor:一个可嵌入的JavaScriptMarkdown编辑器,具有分屏编辑、即时预览、自动草稿保存和离线支持等功能。jsoneditor:一个用于查看、编辑和格式化JSON的网络工具。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:一个最小的所见即所得编辑器。DocumentationDevDocs:一款界面统一、效率高、布局优秀的一体化界面文档阅读器。dexy:一种自由形式的艺术文档工具,可用于编写任何包含代码的技术文档。docco:一个quick-and-dirty,具有百年历史的文学爱好者文档生成器,使用LiterateCoffeeScript实现。styledocco:根据样式表生成样式规范文档。罗恩:建立手册。将对人类阅读友好的简单文本文件转换为roff格式文件,便于终端显示,也可以转换为HTML,便于网页显示。dox:为Node.js开发的JavaScript文档生成器。Dox不生成严格结构化的文档,而是使用JSON表示法实现markdown和JSDoc风格的标签。jsdox:将JSDoc3转换为markdown的文档生成器。ESDoc:一个优秀的为JavaScript设计的文档生成器。YUIDoc:一个Node.js应用程序,提取源代码注释生成接口文档,功能类似于Javadoc和Doxygen。coddoc:一个jsdoc解析库。Coddoc和其他工具的区别)在于通过coddoc.addTagHandler和coddoc.addCodeHandler很容易扩展添加标签和代码解析器。Coddoc还可以解析源码生成接口文档。sphinx:一个可以更轻松地创建智能漂亮文档的工具。使用JSDocBeautiful文档:降价文档阅读器。documentation.js:支持ES2015+和流注释的接口文档生成器。jsduck:为SenchaJavaScript框架开发的接口文档生成器,当然其他框架也可以使用。codecrumbs:用于学习和记录代码库的可视化工具,它通过在源代码中插入面包屑来实现功能。FilePapaParse:一个强大的CSV库,支持解析CSV文件/字符串,也支持导出CSV。jBinary:对使用声明性语法描述文件类型和数据结构的二进制文件执行高级I/O(加载、解析、操作、序列化、存储)操作。diff2html:gitdiff输出解析器,也是HTML美化器。jsPDF:一个JavaScriptPDF文件生成器。PDF.js:一个JavaScriptPDF阅读器,由社区驱动,由Mozilla提供支持。函数式编程下划线: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和sparseVector。mori:一个使用ClojureScript来持久化数据结构并支持原生JavaScriptAPI的库。buckets:一个完整??的、经过良好测试和文档齐全的JavaScript数据结构库。hashmap:一个简单的哈希映射实现,支持任何类型的键值。日期日期库。moment:解析、验证、操作和显示日期。moment-timezone:基于moment.js的时区库。jquery-timeago:一个支持自动更新模糊时间戳(例如“4分钟前”)的jQuery插件。timezone-js:允许JavaScript日期对象具有时区功能。使用Olsonzoneinfo文件记录时区数据。date:一个人性化的Date()。ms.js:一个小的毫秒转换工具。countdown.js:超小倒计时。timeago.js:一个非常轻量级(~1.7Kb)的库,用于将时间转换为xxxtimeago格式。fecha:轻量级日期格式化和解析库(~2kb)。可以用来替代moment.js的格式化和解析功能(moment.js比较大——译者注)。date-fns:现代JavaScript的日期函数库。map-countdown:建立在谷歌地图之上的浏览器倒计时。dayjs:Day.js是一个日期库,具有与Moment.js相同的现代界面,但它只有2kb大小,可以用来替代Moment.js。Stringvoca:一个超级好用的JavaScript字符串库。selecting:一个库,允许您获取用户选择的文本。underscore.string:Underscore.js的字符串操作扩展。string.js:附加的JavaScript字符串方法。he:健壮的HTML实体编码器/解码器。多行:多行字符串。查询字符串:解析和字符串化URL查询字符串。URI.js:URL操作库。jsurl:一个轻量级的URL操作库。sprintf.js:实现字符串格式化。url-pattern:匹配url或其他字符串比正则表达式更简单,字符串和数据可以相互转换。plexis:一个低保真、强大、社区驱动的字符串操作库。Numeral-js:一个用于格式化和操作数字的库。chance.js:JavaScript随机生成器,可以生成数字、字符串等。odometer:平滑的数字过渡效果。accounting.js:一个用于格式化数字、货币和货币的轻量级库,完全本地化且无依赖性。money.js:一个用于web和nodeJS的微型(1kb)货币转换库。Fraction.js:一个有理数库。Complex.js:复数库。Polynomial.js:一个多项式库。Quaternion.js:一个用于JavaScript的四元数操作库。Storagestore.js:为所有浏览器包装LocalStorage,而不使用cookie和flash。秘密使用localStorage、globalStorage和userdata。localForage:改进的离线存储。它封装了IndexedDB、WebSQL和localStorage,拥有简单而强大的API。jStorage:jStorage是一个简单的键值对数据库,用于在浏览器端存储数据。cross-storage:获取权限后,可以跨域名本地存储。basket.js:用于使用localStorage加载和缓存脚本的资源加载器。bag.js:可以缓存脚本和加载资源,类似basket.js,但是增加了key-value接口,支持localStorage/websql/indexedDB。basil.js:智能JavaScript数据持久层库。jquery-cookie:轻量级和简单的jQuery插件,用于读取、编辑和删除cookie。js-cookie:一个简单、轻量级的jQuery插件,用于读取、写入和删除cookie。Cookies:客户端cookie操作库。DB.js:包装IndexedDB的基于Promise的库。lawnchair.js:简单的客户端JSON存储。sql.js:基于Emscripten将SQLite编译成JavaScript。crumbsjs:一个轻量级的原生ES6cookie和本地存储JavaScript库。awesome-web-storage:关于客户端存储你需要知道的一切。colorrandomColor:JavaScript颜色生成器。chroma.js:具有各种颜色操作的JavaScript库。color:JavaScript颜色转换和操作库。颜色:更智能的默认网页颜色。PleaseJS:一个JavaScript库,可以随机创建令人赏心悦目的颜色和配色方案。TinyColor:快速、轻量级的颜色处理和转换库。Vibrant.js:从图像中提取主色。国际化和本地化i18next:JavaScript中的国际化(i18n)的简单方法。polyglot:微型国际化助手库。babelfish:一个i18n库,提供友好且易于理解的API,并具有多种内置支持。ttag:基于ES6标签模板和良好的旧GNUgettext的流行JavaScript国际化和本地化库。异步控制流:用于node.js和浏览器的异步实用程序库。q:用于实现异步承诺的JavaScript工具。step:一个简化逻辑执行的异步控制流库。contra:以函数式风格实现的异步流控制。Bluebird:一个功能齐全的promoise库,专注于功能创新和性能提升。when:when()的快速可靠的Promises/A+实现,具有用于异步操作的其他强大功能。ObjectEventTarget:为普通对象添加事件监听原型(类似于浏览器DOMElement的EventTarget)。sporadic:基于promises(如流、协程和类似Go通道)的组合并发抽象,支持Node.js和浏览器引擎。路由导向器:同构于URL的小路由。page.js:受Express路由器启发的小型客户端路由器(约1200字节)。pathjs:简单、轻量级的网络路由。十字路口:JavaScript路由。davis.js:基于pushState的FallableRESTfulJavaScript路由。navaid:浏览器端的导航辅助系统(也可以是路由),体积只有850字节!安全性DOMPurify:DOM-only超快、高度容错的XSS过滤器,适用于HTML、MathML和SVG。js-xss:通过白名单配置,可以过滤不可信的HTML(防止XSS攻击)。xss-filters:Yahoo的安全XSS过滤器。日志:带有样式的Console.log。Console:调试面板,封装了JavaScript原生控制台对象的方法和函数,并在页面中显示该面板。console.log-wrapper:清晰记录日志到控制台,兼容所有浏览器。loglevel:最轻量级的JavaScript日志记录工具库,在封装的console.log方法中加入可靠的日志级别。minilog:一个轻量级的、流式API就绪的日志库,可以在客户端和服务器端使用。故事板:通用日志库+Chrome扩展。提供单个条目以查看任务触发器日志,包括客户端和服务器。正则表达式RegEx101:在线JavaScript正则表达式测试器和调试器。还支持Python、PHP和PCRE。RegExr:用于创建、测试和学习正则表达式的HTML/JS工具。VoiceCommandsannyang:一个向网站添加语音命令的语音识别库。voix.js:用于向网站、应用程序或游戏添加语音命令的JavaScript库。APIaxios:用于Node.js和浏览器的基于Promise的HTTP客户端。瓶颈:强大的限速器,可以更轻松地调节流量。oauth-signature-js:用于节点和浏览器的OAuth1.0a签名生成器。amygdala:用于Web应用程序的RESTfulHTTP客户端解决方案。jquery.rest:一个使RESTfulAPI更易于使用的jQuery插件。RailsRanger:专为RubyTails接口设计的严格REST客户端。wretch:基于直觉语法的fetch函数的紧凑包装包。FarFetch:一个易于使用的现代Fetch接口包装器,可简化文件上传。Optic:Optic用于API的自动化测试和文档生成。SWR:一个用于远程数据获取的ReactHooks库。StreamingTailor:一种用于前端微服务的流式布局服务,灵感来自FacebookBigPipe。Visiondetectiontracking.js:一种现代的网络视觉计算方法。ocrad.js:基于Emscripten的JavaScriptOCR实现。机器学习ConvNetJS:JavaScript中的深度学习。在浏览器环境中训练卷积神经网络(或普通神经网络)。DN2A:数字神经网络架构。Brain.js:JavaScript中的神经网络。Mind.js:一个灵活的神经网络库。Synaptic.js:用于Node.js和浏览器的无架构神经网络库。TensorFlow.js:用于在浏览器和Node.js中训练和部署ML模型的JavaScript库。ml5.js:一个网络友好的机器学习库。Synapses:一个轻量级的跨平台神经网络库。Browserdetectionbowser:浏览器检测器,特点是体积小,速度快,API丰富。基准测试benchmark.js:jsPerf.com使用的基准测试库。抹茶:咖啡因驱动的基准测试的简单实现。动画速度:加速JavaScript动画。jquery.transit:一个jQuery插件,具有超级平滑的CSS3过渡和过渡。impess.js:使用CSS3转换和转换在HTML文档中创建类似Prezi的演示文稿。bounce.js:立即创建有趣的CSS3动画。GreenSock-JS:适用于所有主要浏览器的高性能HTML5动画。TransitionEnd:TransitionEnd是一个使用transitionend事件的跨浏览器库。Dynamics.js:用于创建基于物理的运动的CSS动画库。the-cube:TheCube是一个使用CSS3过渡效果的实验。Effeckt.css:一个高性能的过渡动画库。animate.css:一个易于使用的跨浏览器CSS动画库。textillate:一个简单的CSS3文本动画插件。move.js:一个基于CSS3的JavaScript动画框架。动画:一个属性,两个值,无限的可能性。shuffle-images:简单而有创意地随机播放图像。http://www.thepetedesign.com/demos/shuffle-images_demo.htmlsmoothState.js:一个用于免打扰页面转换的jQuery库。http://smoothstate.com/Anime.js:一个JavaScript动画引擎。http://animejs.comparticles.js:用于创建粒子的轻量级JavaScript库。tsParticles:particles.js的全新升级版,修复了bug并增加了许多新功能。particles-bg:轻量级粒子运动动画背景React组件。图像处理lena.js:具有滤镜和实用功能的图像处理库。pica:高质量图像大小调整(使用Lanczos过滤器算法的快速、纯JS实现)。cropper:一个简单的图像裁剪jQuery插件。上一篇历史文章必须要知道的JavaScript库——可视化库
