包管理器
管理、读取和打包 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 和浏览器运行。
- derby-awesome:很棒的 derby 组件集合。
- 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 框架。
文章和帖子
- 你必须知道的 JavaScript 知识:介绍 JavaScript 基本概念的葡萄牙语文章。
- JavaScript 运行原理:介绍 JavaScript 构建块的文集。
- 利用 web-workers 实现多线程:Web Worker :为 JavaScript 添加多线程。
- JavaScript 的 this 关键字:细嚼慢咽理解 JS this 关键字。
数据可视化
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 甘特图库。
还有一些很棒的收费库,如 amchart、plotly 和 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 硬核函数式编程。
- rambda:Ramda 快速小巧的替代品。
响应式编程
响应式程序库提升了 JavaScript 的能力。
- RxJs:对 JavaScript 进行响应式扩展。
- Bacon:JavaScript 的 FPR(函数式响应式编程)库。
Total Page Visits: 707 - Today Page Visits: 1