包管理器
托管JavaScript库并提供用于获取和打包它们的工具。
- npm - npm是JavaScript的包管理器。
- Bower - 网络包管理器。
- component - 用于构建更好的Web应用程序的客户端包管理。
- spm - 全新的静态包管理器。
- jam - 使用以浏览器为中心且与RequireJS兼容的存储库的包管理器。
- jspm - 无摩擦浏览器包管理。
- Ender - The no-library library.
- volo - 从模板创建前端项目,添加依赖项并自动生成项目。
- Duo - 下一代软件包管理器,融合了Component,Browserify和Go的最佳创意,使组织和编写前端代码快速而轻松。
- yarn - 快速,可靠,安全的依赖管理。
加载器 (Loaders)
- JavaScript的模块或加载系统。
- RequireJS - JavaScript的文件和模块加载器。
- browserify - 浏览器端require()node.js方式。
- SeaJS - Web的模块加载器。
- HeadJS - HEAD中唯一的脚本。
- curl - 一个小型,快速,可扩展的模块加载器,可处理AMD,CommonJS模块/ 1.1,CSS,HTML /文本和旧脚本。
- lazyload - 微小的,无依赖的异步JavaScript和CSS加载器。
- script.js - 异步JavaScript加载器和依赖项管理器。
- systemjs - 符合AMD,CJS和ES6规范的模块加载器。
- LodJS - 基于AMD的模块加载器。
- ESL - 模块加载器浏览器首先,支持懒惰定义和AMD。
- modulejs - 轻量级JavaScript模块系统。
Bundlers
- browserify - Browserify允许您通过捆绑所有依赖项来在浏览器中(“模块”)。
- webpack - 为浏览器打包CommonJs / AMD模块。
- Rollup - 下一代ES6模块捆绑器。
- Brunch - 具有简单声明配置的快速前端Web应用程序构建工具。
- Parcel - 快速,零配置Web应用程序捆绑器。
测试框架
构架
- mocha - 简单,灵活,有趣的node.js和浏览器JavaScript测试框架。
- jasmine - DOM-less简单的JavaScript测试框架。
- qunit - 一个易于使用的JavaScript单元测试框架。
- jest - 无痛的JavaScript单元测试。
- prova - 基于Tape和Browserify的节点和浏览器测试运行器
- DalekJS - 使用JavaScript实现自动跨浏览器功能测试
- Protractor - Protractor是AngularJS应用程序的端到端测试框架。
- tape - 用于节点和浏览器的Tap生成测试工具。
- TestCafe - 针对现代Web开发堆栈的自动浏览器测试。
- ava - 未来的JavaScript测试运行器
断言
- chai - node.js的BDD / TDD断言框架和可以与任何测试框架配对的浏览器。
- Enzyme - Enzyme是React的JavaScript测试实用程序,可以更容易地断言,操作和遍历React Components的输出。
- 反应测试库 - 简单而完整的React DOM测试实用程序,可以鼓励良好的测试实践。
- Sinon.JS - 测试JavaScript的间谍,存根和模拟。
- expect.js - Node.JS和浏览器的简约BDD风格断言。
覆盖
- istanbul - 又一个JS代码覆盖工具。
- blanket - 一个简单的JavaScript代码覆盖库。浏览器和nodejs易于安装和使用。
- JSCover - JSCover是一个测量JavaScript程序代码覆盖率的工具。
Runner
- phantomjs - Scriptable Headless WebKit。
- slimerjs - 运行Gecko的类似PhantomJS的工具。
- casperjs - PhantomJS和SlimerJS的导航脚本和测试实用程序。
- zombie - 使用node.js进行疯狂快速,全栈,无头浏览器测试
- totoro - 一个简单而稳定的跨浏览器测试工具。
- karma - JavaScript的壮观测试赛跑者。
- nightwatch - 基于node.js和selenium webdriver的UI自动化测试框架。
- nightwatch - UI - JavaScript的下一代代码测试堆栈。
- yolpo - 浏览器中的语句JavaScript解释器。
质量检查工具
- prettier - Prettier是一个自以为是的代码格式化程序。
- JSHint - JSHint是一个有助于检测JavaScript代码中的错误和潜在问题的工具。
- jscs - JavaScript代码样式检查器。
- jsfmt - 用于格式化,搜索和重写JavaScript。
- jsinspect - 检测复制粘贴和结构相似的代码。
- buddy.js - JavaScript的幻数检测。
- ESLint - 一种完全可插入的工具,用于识别和报告JavaScript中的模式。
- JSLint - 高标准,严格和固定的代码质量工具,旨在保持语言的优秀部分。
- JavaScript标准样式 - 意见,无配置样式指南,样式检查器和格式化程序
MVC框架和库
- angular.js - 针对网络应用增强的HTML。
- aurelia - 适用于移动,桌面和Web的JavaScript客户端框架。
- backbone - 为您的JS应用程序提供模型,视图,集合和事件的一些骨干。
- 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。
- hyperapp - 用于构建前端应用程序的1kb JavaScript库。
- preact - 使用相同的ES6 API快速3kb React替代方案。组件和虚拟DOM。
- nativescript - 使用JavaScript构建真正的原生跨平台iOS和Android应用程序。
- react-native - 使用React构建本机应用程序的框架。
- riot - 类似React的库,但体积非常小。
- thorax - 加强你的骨干。
- chaplin - 使用Backbone.js库的JavaScript应用程序的体系结构。
- marionette - Backbone.js的复合应用程序库,旨在简化大型JavaScript应用程序的构建。
- ripple - 构建反应性视图的微小基础。
- rivets - 轻量级和强大的数据绑定+模板解决方案。
- derby - MVC框架,可以轻松编写在Node.js和浏览器中运行的实时协作应用程序。
- derby-awesome - 一系列令人敬畏的德比组件
- way.js - 简单,轻量,持久的双向数据绑定。
- mithril.js - Mithril是一个客户端MVC框架(轻量级,健壮,快速)。
- jsblocks - jsblocks是更好的MV-ish框架。
- LiquidLava - 用于构建用户界面的透明MVC框架。
- feathers - 明天应用程序的极简主义实时JavaScript框架。
- Keo - 具有Shadow DOM支持的功能无状态React组件。
- atvjs - 使用纯JavaScript快速开发Apple TV应用程序
基于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与WSYWYG编辑器。
- PencilBlue - CMS和博客平台。
模板引擎
模板引擎允许您执行字符串插值。
- mustache.js - JavaScript中{{mustaches}}的最小模板。
- handlebars.js - Mustache模板语言的扩展。
- nunjucks - 来自Mozilla的JavaScript丰富而强大的模板语言。
- hogan.js - Mustache模板语言的编译器。
- doT - nodejs和浏览器的最快+简洁的JavaScript模板引擎。
- dustjs - 浏览器和node.js的异步模板。
- eco - 嵌入式CoffeeScript模板。
- JavaScript-Templates - <1KB轻量级,快速且功能强大的JavaScript模板引擎,具有零依赖性。
- t.js - 一个小的JavaScript模板框架,约400字节gzip压缩。
- Pug - 用于nodejs的强大,优雅,功能丰富的模板引擎。(以前称为玉)
- EJS - 有效的JavaScript模板。
- xtemplate - 节点和浏览器的可扩展模板引擎库
- marko - 一个快速,轻量级,基于HTML的模板引擎,用于Node.js和浏览器,具有异步,流,自定义标签和CommonJS模块作为编译输出。
- swig - 一个简单,功能强大且可扩展的Node.js和基于浏览器的JavaScript模板引擎。
数据可视化
用于Web的数据可视化工具。
- d3 - 用于HTML和SVG的JavaScript可视化库。
- metrics-graphics - 针对简洁,有原则的数据图形和布局进行优化的库。
- pykcharts.js - 精心设计的d3.js图表,没有d3.js的复杂性。
- three.js - JavaScript 3D库。
- Chart.js - 使用标记的简单HTML5图表。
- paper.js - 瑞士军刀矢量图形脚本 - 使用HTML5 Canvas移植到JavaScript和浏览器的Scriptographer。
- fabric.js - JavaScript Canvas Library,SVG-to-Canvas(&canvas-to-SVG)Parser。
- peity - 渐进式条形图,折线图和饼图。
- raphael - JavaScript矢量库。
- echarts - 企业图表。
- vis - 基于浏览器的动态可视化库。
- two.js - 用于网络的渲染器不可知的二维绘图api。
- g.raphael - Raphaël的图表。
- sigma.js - 专用于图形绘制的JavaScript库。
- arbor - 使用Web worker和jQuery的图形可视化库。
- cubism - 用于可视化时间序列的D3插件。
- dc.js - 多维图表,可与使用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画布的热图的JavaScript库。
- jquery.sparkline - jQuery JavaScript库的插件,可直接在浏览器中生成小的迷你图表。
- xCharts - 基于D3的库,用于构建自定义图表和图形。
- trianglify - 低聚风格背景发生器与d3.js.
- d3-cloud - 在JavaScript中创建单词云。
- d4 - D3的友好可重用图表DSL。
- dimple.js - 由d3支持的简单业务分析图表。
- chartist-js - 简单的响应式图表。
- epoch - 通用实时图表库。
- c3 - 基于D3的可重用图表库。
- BabylonJS - 使用HTML 5和WebGL构建3D游戏的框架。
- recharts - 使用React和D3构建的重新定义的图表库。
- GraphicsJS - 一个轻量级JavaScript图形库,具有基于SVG / VML技术的直观API。
- mxGraph - 图表库,可以快速创建交互式图形和图表应用程序,这些应用程序可以在其供应商支持的任何主要浏览器中本机运行。
- 还有一些很棒的商业库,如amchart,anychart,plotly和highchart。
时间线
- TimelineJS v3 - 用JavaScript构建的讲故事时间轴。
- timesheet.js - 简单HTML5和CSS3时间表的JavaScript库。
电子表格
- HANDSONTABLE - Handsontable是面向开发人员的JavaScript / HTML5电子表格库
编辑器
- ace - Ace(Ajax.org Cloud9编辑器)。
- CodeMirror - 浏览器内代码编辑器。
- esprima - 用于多功能分析的ECMAScript解析基础设施。
- quill - 带有API的跨浏览器的富文本编辑器。
- medium-editor - Medium.com WYSIWYG编辑器克隆。
- pen - 享受现场编辑(+Markdown)。
- jquery-notebook - 一个简单,干净,优雅的文本编辑器。灵感来自Medium的精彩。
- bootstrap-wysiwyg - 与Tiny bootstrap兼容的WYSIWYG富文本编辑器。
- ckeditor-releases - 适合所有人的最佳网络文本编辑器。
- editor - Markdown编辑。仍处于发展阶段。
- EpicEditor - 一个可嵌入的JavaScript Markdown编辑器,具有分屏全屏编辑,实时预览,自动草稿保存,离线支持等功能。
- jsoneditor - 一个基于Web的工具,用于查看,编辑和格式化JSON。
- vim.js - 带有持久性〜/ .vimrc的Vim的JavaScript端口。
- Squire - HTML5富文本编辑器。
- TinyMCE - JavaScript Rich Text编辑器。
- trix - 用于日常写作的富文本编辑器。通过Basecamp。
- Trumbowyg - 一个轻量级且令人惊叹的WYSIWYG JavaScript编辑器。
- Draft.js - 用于构建文本编辑器的React框架。
- bootstrap-wysihtml5 - 简单,漂亮的所见即所得的编辑器
- wysihtml5 - 基于HTML5的开源富文本编辑器和渐进增强方法。使用复杂的安全性概念,旨在通过防止不可维护的标签汤和内联样式来生成完全有效的HTML5标记。
- raptor-editor - Raptor,HTML5 WYSIWYG内容编辑器!
- popline - Popline是一个HTML5富文本编辑器工具栏。
文档
- DevDocs是一个一体化的API文档阅读器,具有快速,有条理和一致的界面。
- dexy是一种自由形式的文化文档工具,用于编写包含代码的任何类型的技术文档。
- docco是一个快速,肮脏,百行,文化编程风格的文档生成器。
- styledocco从样式表生成文档和样式指南文档。
- Ronn制作手册。它将简单的,人类可读的文本文件转换为roff用于终端显示,也转换为HTML用于Web。
- dox是一个用节点编写的JavaScript文档生成器。Dox不再为您的文档生成固定的结构或样式,它只是为您提供JSON表示,允许您使用markdown和JSDoc样式的标记。
- jsdox是一个JSDoc3到Markdown文档生成器。
- ESDoc是一个很好的JavaScript文档生成器。
- YUIDoc是一个Node.js应用程序,它使用类似于Javadoc和Doxygen等工具的语法,从源代码中的注释生成API文档。
- coddoc是一个jsdoc解析库。Coddoc的不同之处在于,它允许用户通过使用coddoc.addTagHandler和coddoc.addCodeHandler添加标记和代码解析器,从而可以轻松扩展。coddoc还解析了在API中使用的源代码。
- sphinx是一款可轻松创建智能和精美文档的工具
- 使用JSDoc
- Beautiful docs是一个基于markdown文件的文档查看器。
- documentation.js - 支持ES2015 +和流程注释的API文档生成器。
- jsduck - 为Sencha JavaScript框架制作的API文档生成器,但也可用于其他框架。
文件
用于处理文件的库。
- Papa Parse - 一个功能强大的CSV库,支持解析CSV文件/字符串并导出为CSV。
- jBinary - 具有声明性语法的二进制文件的高级I / O(加载,解析,操作,序列化,保存),用于描述文件类型和数据结构。
- diff2html - Git diff输出解析器和漂亮的HTML生成器。
- jsPDF - JavaScript PDF生成。
- PDF.js - JavaScript中的PDF阅读器。
函数编程
函数式编程库,用于扩展JavaScript的功能。
- underscore - JavaScript的实用程序_腰带。
- lodash - 提供一致性,定制,性能和附加功能的实用程序库。
- Sugar - 用于处理本机对象的JavaScript库。
- lazy.js - 像下划线,但更懒。
- ramda - JavaScript程序员的实用函数库。
- mout - 模块化JavaScript实用程序。
- mesh - Streamable数据同步实用程序。
- preludejs - JavaScript的硬核函数式编程。
反应式编程
反应式编程库,以扩展JavaScript的功能。
- RxJs - JavaScript的反应性扩展。
- Bacon - 用于JavaScript的FRP(功能反应式编程)库。
- Kefir - 针对JavaScript的FRP库,受到Bacon.js和RxJS的启发,专注于高性能和低内存消耗。
- Highland - 重新思考JavaScript实用程序带,Highland轻松管理同步和异步代码,仅使用标准JavaScript和类似Node的Streams。
- Most.js - 高性能FRP库。
- MobX - 用于简单,可扩展状态管理的TFRP库。
- Cycle.js - 一个功能强大且反应灵敏的JavaScript库,用于更清晰的代码。
数据结构
数据结构库构建更复杂的应用程序。
- immutable-js - 不可变数据集合,包括序列,范围,重复,映射,OrderedMap,Set和稀疏向量。
- mori - 一个库,用于使用ClojureScript的持久数据结构,并从舒适的vanilla JavaScript中支持API。
- 存储桶 - 用JavaScript编写的完整,经过全面测试和记录的数据结构库。
- hashmap - 支持任何类型密钥的简单hashmap实现。
日期
日期库。
- moment - 在JavaScript中解析,验证,操作和显示日期。
- moment-timezone - 时区支持moment.js。
- jquery-timeago - 一个jQuery插件,可以轻松支持自动更新模糊时间戳(例如“4分钟前”)。
- timezone-js - 启用时区的JavaScript Date对象。使用Olson zoneinfo文件获取时区数据。
- date - 人类的日期()。
- ms.js - 微小的毫秒转换实用程序。
- countdown.js - 超级简单的倒计时。
- timeago.js - 简单的库(小于2kb)用于格式化日期与*** time ago语句。
- fecha - 轻量级日期格式化和解析(~2KB)。意味着要取代moment.js的解析和格式化功能。
- date-fns - 现代JavaScript日期实用程序库。
- map-countdown - 基于Google地图构建的浏览器倒计时
字符串
字符串库。
- voca - 终极JavaScript字符串库
- selecting - 允许您访问用户选择的文本的库。
- underscore.string - Underscore.js JavaScript库的字符串操作扩展。
- string.js - 额外的JavaScript字符串方法。
- he - 用JavaScript编写的强大的HTML实体编码器/解码器。
- multiline - JavaScript中的多行字符串。
- query-string - 解析和字符串化URL查询字符串。
- URI.js - JavaScript URL变异库。
- jsurl - 使用JavaScript进行轻量级URL操作。
- sprintf.js - sprintf实现。
- url-pattern - 比url和其他字符串的正则表达式字符串匹配模式更容易。将字符串转换为数据或数据为字符串。
数字
- Numeral-js - 用于格式化和操作数字的JavaScript库。
- chance.js - JavaScript中的随机生成器助手。可以生成数字,字符串等。
- odometer - 轻松过渡数字。
- accounting.js - 用于数字,货币和货币格式的轻量级JavaScript库 - 完全可本地化,零依赖性。
- money.js - 一个小的(1kb)JavaScript货币转换库,用于web和nodeJS。
- Fraction.js - JavaScript的有理数字库。
- Complex.js - JavaScript的复数库。
- Polynomial.js - JavaScript的多项式库。
存储
- store.js - 所有浏览器的LocalStorage包装器,不使用cookie或flash。使用localStorage,globalStorage和userData行为。
- localForage - 改进的离线存储。使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。
- jStorage - jStorage是一个简单的键/值数据库,用于在浏览器端存储数据。
- cross-storage - 跨域本地存储,具有权限。
- basket.js - 用于使用localStorage缓存和加载脚本的脚本和资源加载器。
- bag.js - 一个缓存脚本和资源加载器,类似于basket.js,但具有额外的k / v接口和localStorage / websql / indexedDB支持。
- basil.js - 缺少的JavaScript智能持久层。
- jquery-cookie - 一个简单,轻量级的jQuery插件,用于读取,写入和删除cookie。
- js-cookie - 用于处理浏览器cookie的简单轻量级JavaScript API。
- Cookie - JavaScript客户端Cookie操作库。
- DB.js - 基于Promise的IndexDB Wrapper库。
- lawnchair.js - 简单的客户端JSON存储。
- sql.js - 通过Emscripten编译为JavaScript的SQLite。
Color(颜色)
- randomColor - JavaScript的颜色生成器。
- chroma.js - 用于各种颜色操作的JavaScript库。
- color - JavaScript颜色转换和操作库。
- colors - 网络上颜色的更智能默认值。
- PleaseJS - 用于创建随机赏心悦目的颜色和配色方案的JavaScript库。
- TinyColor - 快速,小巧的颜色处理和JavaScript转换。
- Vibrant.js - 从图像中提取突出的颜色。