{"success":true,"data":[{"id":"56e8c95dcf7763a6045c4ae4","author_id":"54009f5ccd66f2eb37190485","tab":"share","content":"[原文](https://github.com/jobbole/awesome-javascript-cn)\r\n\r\n<h2 id=\"package-managers\">包管理器</h2>\r\n\r\n管理着 javascript 库，并提供读取和打包它们的工具。\r\n\r\n* npm：npm 是 javascript 的包管理器。[官网](https://www.npmjs.com/)\r\n* Bower：一个 web 应用的包管理器。[官网](https://github.com/bower/bower)\r\n* component：能构建更好 web 应用的客户端包管理器。[官网](https://github.com/componentjs/component)\r\n* spm：全新的静态包管理器。[官网](https://github.com/spmjs/spm)\r\n* jam：一个专注于浏览器端和兼容 RequireJS 的包管理器。[官网](https://github.com/caolan/jam)\r\n* jspm：流畅的浏览器包管理器。[官网](https://github.com/jspm/jspm-cli)\r\n* Ender：没有库文件的程序库。[官网](https://github.com/ender-js/Ender)\r\n* volo：以项目模板、添加依赖项与自动化生成的方式创建前端项目。[官网](https://github.com/volojs/volo) \r\n* Duo：一个整合 Component、Browserify 和 Go [官网](https://github.com/duojs/duo)的最佳思想，使开发者能快速方便地组织和编写前端代码的下一代包管理器。\r\n\r\n<h2 id=\"loaders\">加载器</h2>\r\n\r\nJavaScript 的模块或加载系统。\r\n\r\n* RequireJS：JavaScript 文件和模块的加载器。[官网](https://github.com/jrburke/requirejs)\r\n* browserify：在浏览器端以 node.js 的方式 require()。[官网](https://github.com/substack/node-browserify)\r\n* SeaJS：用于 Web 的模块加载器。[官网](https://github.com/seajs/seajs)\r\n* HeadJS：HEAD 的唯一脚本。[官网](https://github.com/headjs/headjs)\r\n* curl：小巧、快速且易扩展的模块加载器，它能处理 AMD、CommonJS Modules/1.1、CSS、HTML/text 和历史脚本。[官网](https://github.com/cujojs/curl)\r\n* lazyload：小巧且无依赖的异步 JavaScript 和 CSS 加载器。[官网](https://github.com/rgrove/lazyload/)\r\n* script.js：异步 JavaScript 加载器和依赖管理器。[官网](https://github.com/ded/script.js)\r\n* systemjs：AMD、CJS（commonJS） 和符合 ES6 规范的模块加载器。[官网](https://github.com/systemjs/systemjs)\r\n* LodJS：基于 AMD 的模块加载器。[官网](https://github.com/yanhaijing/lodjs)\r\n* ESL：浏览器端的模块加载器，支持延迟定义和 AMD。[官网](https://github.com/ecomfe/esl)\r\n* modulejs：轻量的 JavaScript 模块系统。[官网](https://github.com/lrsjng/modulejs)\r\n\r\n<h2 id=\"bundlers\">打包工具</h2>\r\n\r\n* browserify ：Browserify 让你能在浏览器端使用 require('modules') ，打包所有依赖。[官网](https://github.com/substack/node-browserify)\r\n* webpack：为浏览器打包 CommonJs/AMD 模块。[官网](https://github.com/webpack/webpack)\r\n\r\n<h2 id=\"testing-frameworks\">测试框架</h2>\r\n\r\n### 框架\r\n\r\n* mocha：适用于 node.js 和浏览器、简易、灵活、有趣的 JavaScript 测试框架。[官网](https://github.com/mochajs/mocha)\r\n* jasmine：简单无 DOM 的 JavaScript 测试框架。[官网](https://github.com/jasmine/jasmine)\r\n* qunit：一个易于使用的 JavaScript 单元测试框架。[官网](https://github.com/jquery/qunit)\r\n* jest：简单的 JavaScript 单元测试框架。[官网](https://github.com/facebook/jest)\r\n* prova：基于 Tape 和 Browserify 的测试运行器，它适用于 Node &amp; 浏览器。[官网](https://github.com/azer/prova)\r\n* DalekJS：自动化且跨浏览器的 JavaScript 功能测试框架。[官网](https://github.com/dalekjs/dalek)\r\n\r\n### 断言\r\n\r\n* chai：适用于 node.js 和浏览器的 BDD / TDD 断言框架，并能搭配其它测试框架使用。[官网](https://github.com/chaijs/chai)\r\n* Sinon.JS：对 JavaScript 进行 spies、stubs 和 mock 测试。[官网](https://github.com/sinonjs/sinon)\r\n* expect.js：简约的、适用于 Node.js 和浏览器端的 BDD 式断言工具。[官网](https://github.com/Automattic/expect.js)\r\n* should.js：适用于 Node.js 的 BDD 式断言工具。[官网](https://github.com/tj/should.js)\r\n\r\n### 覆盖率\r\n\r\n* istanbul：另一个 JS 代码覆盖率检测工具。[官网](https://github.com/gotwarlost/istanbul)\r\n* blanket：一个简单的代码覆盖率检测库。它的设计理念是易于安装和使用，且可用于浏览器端和 node.js。[官网](https://github.com/alex-seville/blanket)\r\n* JSCover：JSCover 是一个检测 JavaScript 程序代码覆盖率的工具。[官网](https://github.com/tntim96/JSCover)\r\n\r\n### 运行器\r\n\r\n* phantomjs：脚本化的 Headless WebKit。[官网](https://github.com/ariya/phantomjs)\r\n* slimerjs：一个内核为 Gecko 的类似 PhantomJS 工具。[官网](https://github.com/laurentj/slimerjs)\r\n* casperjs：基于 PhantomJS 和 Slimer JS 的导航脚本和测试工具。[官网](https://github.com/n1k0/casperjs) \r\n* zombie：基于 node.js 、快速、全栈且无图形界面的浏览器的测试工具。[官网](https://github.com/assaf/zombie)\r\n* totoro：一个简单可靠且能跨浏览器运行的测试工具。[官网](https://github.com/totorojs/totoro)\r\n* karma：一个优秀的的 JavaScript 测试运行器。[官网](https://github.com/karma-runner/karma)\r\n* nightwatch：基于 node.js 和 selenium webdriver 的图形界面自动化测试框架。[官网](https://github.com/nightwatchjs/nightwatch)\r\n* intern：下一代 JavaScript 代码测试栈。[官网](https://github.com/theintern/intern)\r\n* yolpo：在浏览器逐句执行的 JavaScript 解释器。[官网](http://www.yolpo.com/)\r\n\r\n<h2 id=\"qa-tools\">QA 工具</h2>\r\n\r\n* JSHint：JSHint 是一个有助于发现 JavaScript 代码错误和潜在问题的工具。[官网](https://github.com/jshint/jshint/)\r\n* jscs：JavaScript 代码风格检测工具。[官网](https://github.com/jscs-dev/node-jscs)\r\n* jsfmt：格式化、搜索和改写 JavaScript。[官网](https://github.com/rdio/jsfmt)\r\n* jsinspect：检测复制粘贴和结构类似的代码。[官网](https://github.com/danielstjules/jsinspect)\r\n* buddy.js：发现 JavaScript 代码里的 [魔术数字](https://zh.wikipedia.org/wiki/%E9%AD%94%E8%A1%93%E6%95%B8%E5%AD%97)。[官网](https://github.com/danielstjules/buddy.js)\r\n* ESLint：完全插件化的工具，能在 JavaScript 中识别和记录模式。[官网](https://github.com/eslint/eslint)\r\n* JSLint ：高标准、严格和固执的代码质量工具，旨在只保持语言的优良部分。[官网](https://github.com/douglascrockford/JSLint)\r\n\r\n<h2 id=\"mvc-frameworks-and-libraries\">MVC 框架和库</h2>\r\n\r\n* [angular.js](http://hao.jobbole.com/angularjs/)：为网络应用增强 HTML。[官网](https://github.com/angular/angular.js)\r\n* aurelia：一个适用于移动设备、桌面电脑和 web 的客户端 JavaScript 框架。[官网](http://aurelia.io/)\r\n* backbone：给你的 JS 应用加入带有 Models、Views、Collections 和 Events 的 Backbone。[官网](https://github.com/jashkenas/backbone)\r\n* batman.js：最适合 Rails 开发者的 JavaScript 框架。[官网](http://batmanjs.org/)\r\n* ember.js：一个旨在创建非凡 web 应用的 JavaScript 框架。[官网](https://github.com/emberjs/ember.js)\r\n* meteor：一个超简单的、数据库无处不在的、只传输数据的纯 JavaScript web 框架。[官网](https://github.com/meteor/meteor)\r\n* ractive：新一代 DOM 操作。[官网](https://github.com/ractivejs/ractive)\r\n* vue：一个用于构建可交互界面的、直观快速和可组合的 MVVM 框架。[官网](https://github.com/vuejs/vue) \r\n* knockout：Knockout 用 JavaScript 让创建响应式的富 UI 更加容易。[官网](https://github.com/knockout/knockout) \r\n* spine：构建 JavaScript 应用的轻量 MVC 库。[官网](https://github.com/spine/spine)\r\n* espresso.js：一个极小的、用于制作用户界面的 JavaScript 库。[官网](https://github.com/techlayer/espresso.js)\r\n* canjs：让 JS 更好、更快、更简单。[官网](https://github.com/canjs/canjs)\r\n* react：用于建构用户界面的库。它是声明式的、高效的和极度灵活的，并使用虚拟 DOM 作为其不同的实现。[官网](https://facebook.github.io/react/)\r\n* react-native：一个用 React 构建原生应用的框架。[官网](https://github.com/facebook/react-native)\r\n* riot：类 React 库，但很轻量。[官网](https://github.com/riot/riot)\r\n* thorax：加强你的 Backbone。[官网](https://github.com/walmartlabs/thorax)\r\n* chaplin：使用 Backbone.js 库的 JavaScript 应用架构。[官网](https://github.com/chaplinjs/chaplin)\r\n* marionette：一个 Backbone.js 的复合应用程序库，旨在简化大型 JavaScript 应用结构。[官网](https://github.com/marionettejs/backbone.marionette)\r\n* ripple：一个小巧的、用于构建响应界面的基础框架。[官网](https://github.com/ripplejs/ripple)\r\n* rivets：轻量却拥有强大的数据绑定和模板解决方案[官网](https://github.com/mikeric/rivets)\r\n* derby：让编写实时和协同应用更简单的 MVC 框架，能够在 Node.js 和浏览器同时运行。[官网](https://github.com/derbyjs/derby)\r\n    * derby-awesome：很棒的 derby 组件集合。[官网](https://github.com/russll/awesome-derby)\r\n* [way.js](http://hao.jobbole.com/way-js/)：简单、轻量、持久化的双向数据绑定。[官网](https://github.com/gwendall/way.js)\r\n* mithril.js：Mithril 是一个客户端 MVC 框架（轻量、强大和快速）[官网](https://github.com/lhorie/mithril.js)\r\n* jsblocks：jsblocks 是一个更好的 MV-ish 框架。[官网](https://github.com/astoilkov/jsblocks)\r\n* LiquidLava：易懂的、用于构建用户界面的 MVC 框架。[官网](http://www.lava-framework.com/)\r\n\r\n<h2 id=\"node-powered-cms-frameworks\">基于 Node 的 CMS 框架</h2>\r\n\r\n* KeystoneJS：强大的 CMS 和 web 应用框架。[官网](https://github.com/keystonejs/keystone)\r\n* Reaction Commerce：拥有实时的架构和设计的响应式（reactive） CMS。[官网](https://github.com/reactioncommerce/reaction)\r\n* Ghost：简单、强大的发布平台。[官网](https://github.com/tryghost/Ghost)\r\n* Apostrophe：提供内容编辑和基本服务的 CMS。[官网](https://github.com/punkave/apostrophe)\r\n* We.js：适用于实时应用、网站或博客的框架。[官网](https://github.com/wejs/we/)\r\n* Hatch.js：拥有社交特性的 CMS 平台。[官网](https://github.com/inventures/hatchjs)\r\n* TaracotJS：拥有快速、极简风格特点且基于Node.js 的 CMS。[官网](https://github.com/xtremespb/taracotjs-generator/)\r\n* Nodizecms：为 CoffeeScript 爱好者准备的 CMS。[官网](https://github.com/nodize/nodizecms)\r\n* Cody：拥有所见即所得的编辑器的 CMS。[官网](https://github.com/jcoppieters/cody)\r\n* PencilBlue：CMS 和博客平台。[官网](https://github.com/pencilblue/pencilblue/)\r\n\r\n<h2 id=\"templating-engines\">模板引擎</h2>\r\n\r\n模板引擎允许您执行字符串插值。\r\n\r\n* mustache.js：是 JavaScript 中带有 {{mustaches}} 的最简模板。[官网](https://github.com/janl/mustache.js)\r\n* handlebars.js：是 Mustache 模板语言的扩展。[官网](https://github.com/wycats/handlebars.js/)\r\n* hogan.js：是 Mustache 模板语言的编译器。[官网](https://github.com/twitter/hogan.js)\r\n* doT：最快速简洁的 JavaScript 模板引擎，适用于 nodejs 和浏览器。[官网](https://github.com/olado/doT)\r\n* dustjs：适用于浏览器和 node.js 的异步模板。[官网](https://github.com/linkedin/dustjs/)\r\n* eco：嵌入式的 CoffeeScript 模板。[官网](https://github.com/sstephenson/eco/)\r\n* JavaScript-Templates：轻量（小于 1KB）、快速且无依赖的强大 JavaScript 模版引擎。[官网](https://github.com/blueimp/JavaScript-Templates)\r\n* t.js：小巧的 JavaScript 模板框架，压缩后约为 400 字节。[官网](https://github.com/jasonmoo/t.js)\r\n* Jade：健壮的、优雅且功能丰富的 nodejs 模板引擎。[官网](https://github.com/pugjs/jade)\r\n* EJS：高效的 JavaScript 模板。[官网](https://github.com/mde/ejs)\r\n* xtemplate：可扩展的模板引擎，适用于 node 和浏览器。[官网](https://github.com/xtemplate/xtemplate)\r\n* marko：快速轻量且基于 HTML 的模板引擎，支持异步、流、自定义标签和 CommonJS 模编译后输出。适用于 Node.js [官网](https://github.com/marko-js/marko)和浏览器。\r\n\r\n<h2 id=\"data visualization\">数据可视化</h2>\r\n\r\nWeb 数据可视化工具\r\n\r\n* d3：一个对 HTML 和 SVG 进行可视化的 JavaScript 库。[官网](https://github.com/mbostock/d3)\r\n* metrics-graphics：更简洁和拥有更规范的数据图表布局优化算法的库。[官网](https://github.com/mozilla/metrics-graphics)\r\n* pykcharts.js：经过精心设计后，去除 d3.js 复杂性的 d3.js 图表库。[官网](https://github.com/pykih/PykCharts.js)\r\n* three.js：JavaScript 3D 库。[官网](https://github.com/mrdoob/three.js)\r\n* Chart.js：简单的、基于 canvas 标签的 HTML5 图表库。[官网](https://github.com/nnnick/Chart.js)\r\n* paper.js：是矢量图形脚本中的瑞士军刀 —— 使用 HTML5 Canvas 将 Scriptographer  移植到 JavaScript [官网](https://github.com/paperjs/paper.js)和浏览器。\r\n* fabric.js：JavaScript Canvas 库，SVG 与 Canvas 可以相互解析。[官网](https://github.com/kangax/fabric.js)\r\n* peity：进度条、线状和饼状图。[官网](https://github.com/benpickles/peity)\r\n* raphael：JavaScript 矢量库。[官网](https://github.com/DmitryBaranovskiy/raphael)\r\n* echarts：商业产品图表。[官网](https://github.com/ecomfe/echarts)\r\n* vis：动态的、基于浏览器的可视化库。[官网](https://github.com/almende/vis)\r\n* two.js：一个渲染器无关的适用于 web 的二维绘图 api 。[官网](https://github.com/jonobr1/two.js)\r\n* g.raphael：基于 Raphaël 图表库。[官网](https://github.com/DmitryBaranovskiy/g.raphael)\r\n* sigma.js：一个致力于图形绘画的 JavaScript 库。[官网](https://github.com/jacomyal/sigma.js)\r\n* arbor：一个使用 web workers 和 jQuery 的图形可视化库。[官网](https://github.com/samizdatco/arbor)\r\n* cubism：可视化时间序列的 D3 插件。[官网](https://github.com/square/cubism)\r\n* dc.js：与 crossfilter 无缝合作的多维图表绘制库，使用 d3.js 渲染。[官网](https://github.com/dc-js/dc.js)\r\n* vega：一套可视化语法。[官网](https://github.com/trifacta/vega)\r\n* processing.js：Processing.js 基于 Web 标准使数据可视化，而无需任何插件。[官网](http://processingjs.org/)\r\n* envisionjs：动态的 HTML5 可视化。[官网](https://github.com/HumbleSoftware/envisionjs)\r\n* rickshaw：用于构建交互式实时图表的 JavaScript 工具包。[官网](https://github.com/shutterstock/rickshaw)\r\n* flot：吸引人的、基于 jQuery 的 JavaScript 图表库。[官网](https://github.com/flot/flot)\r\n* morris.js：漂亮的时间序列线框图。[官网](https://github.com/morrisjs/morris.js)\r\n* nvd3：一个为 D3.js 构建可复用图表和图表组件的库。[官网](https://github.com/novus/nvd3)\r\n* svg.js：一个轻量的、用于操作和添加 SVG 动画的库。[官网](https://github.com/wout/svg.js)\r\n* heatmap.js：基于 HTML5 canvas 的热力图 JavaScript 库。[官网](https://github.com/pa7/heatmap.js)\r\n* jquery.sparkline：一个直接在浏览器端生成小型走势图的 jQuery 插件。[官网](https://github.com/gwatts/jquery.sparkline)\r\n* xCharts：一个基于 D3、用于构建自定义图表和图形的库。[官网](https://github.com/tenxer/xCharts)\r\n* trianglify：基于 d3.js 的低多边形（low poly）风格背景图片生成器。[官网](https://github.com/qrohlf/trianglify)\r\n* d3-cloud：创建词云（word cloud）效果的 JavaScript 库。[官网](https://github.com/jasondavies/d3-cloud)\r\n* d4：一个基于 D3 、友好、可复用的 DSL 图表库 。[官网](https://github.com/heavysixer/d4)\r\n* dimple.js：基于 d3 的简易商业分析图表库。[官网](http://dimplejs.org/)\r\n* chartist-js：简单的响应式图表。[官网](https://github.com/gionkunz/chartist-js)\r\n* epoch：一个通用的实时图表库。[官网](https://github.com/epochjs/epoch)\r\n* c3：基于 D3 的可复用图表库。[官网](https://github.com/masayuki0812/c3)\r\n* BabylonJS：一个运用 HTML5 和 WebGL 构建 3D 游戏的框架。[官网](https://github.com/BabylonJS/Babylon.js)\r\n\r\n也有一些很棒的收费库，如 [amchart](https://www.amcharts.com/)、[plotly](https://plot.ly/) 和 [highchart](http://www.highcharts.com/)。\r\n\r\n<h3 id=\"timeline\">时间轴</h3>\r\n\r\n* TimelineJS： 一个用 JavaScript 编写的可叙事时间轴库。[官网](https://github.com/NUKnightLab/TimelineJS)\r\n* timesheet.js：用于构建简单的 HTML5 &amp; CSS3 时间表的 JavaScript 库。[官网](https://github.com/semu/timesheet.js)\r\n\r\n<h2 id=\"editors\">编辑器</h2>\r\n\r\n* ace：Ace（Ajax.org Cloud9 Editor）。[官网](https://github.com/ajaxorg/ace)\r\n* CodeMirror：浏览器端的代码编辑器。[官网](https://github.com/codemirror/CodeMirror)\r\n* esprima：用于综合分析的 ECMAScript 解析器。[官网](https://github.com/ariya/esprima)\r\n* [quill](http://hao.jobbole.com/quill/)：一个带有 API 的跨浏览器富文本编辑器。([官网](http://quilljs.com/))\r\n* medium-editor：Medium.com 所见即所得编辑器的克隆版。[官网](https://github.com/yabwe/medium-editor)\r\n* pen：享受在线编辑（支持 markdown）。[官网](https://github.com/sofish/pen)\r\n* jquery-notebook：一个易用的、简洁优雅的文本编辑器。灵感来源于 Medium 的魅力。[官网](https://github.com/raphaelcruzeiro/jquery-notebook)\r\n* bootstrap-wysiwyg：小巧的、兼容 bootstrap 的所见即所得的富文本编辑器。[官网](https://github.com/mindmup/bootstrap-wysiwyg)\r\n* ckeditor-releases：适用于每个人的 web 文本编辑器。[官网](https://github.com/ckeditor/ckeditor-releases)\r\n* editor：一个 markdown 编辑器，但仍在开发中。[官网](https://github.com/lepture/editor)\r\n* EpicEditor：一个可嵌入的 JavaScript Markdown [官网](https://github.com/OscarGodson/EpicEditor)的编辑器，拥有全屏编辑、即时预览、自动保存草稿和离线支持等功能。\r\n* jsoneditor：查看、编辑和格式化 JSON 的 web 工具。[官网](https://github.com/josdejong/jsoneditor)\r\n* vim.js： 拥有持久化 ~/.vimrc 的 Vim 编辑器的 JavaScript 移植版本。[官网](https://github.com/coolwanglu/vim.js)\r\n* Squire：HTML5 富文本编辑器。[官网](https://github.com/neilj/Squire)\r\n* TinyMCE：JavaScript 富文本编辑器。[官网](https://github.com/tinymce/tinymce)\r\n* trix：由 Basecamp 制作，适用于每天写作的富文本编辑器。[官网](https://github.com/basecamp/trix)\r\n\r\n<h3 id=\"files\">文件</h3>\r\n\r\n处理文件的库。\r\n\r\n* Papa Parse：一款强大的 CSV 库，支持解析 CSV 文件/字符串，也能导出 CSV。[官网](https://github.com/mholt/PapaParse)\r\n* jBinary：对用声明式语法描述文件类型和数据结构的二进制文件，进行高级 I/O（加载、解析、操作、序列化、存储）操作。[官网](https://github.com/jDataView/jBinary)\r\n\r\n<h3 id=\"functional-programming\">函数式编程</h3>\r\n\r\n函数式编程库扩展了 JavaScript 的能力。\r\n\r\n* [underscore](http://hao.jobbole.com/underscore/)：JavaScript 的实用工具。[官网](https://github.com/jashkenas/underscore)\r\n* [lodash](http://hao.jobbole.com/lodash/)：提供一致性、可定制、高性能和额外功能的实用库。[官网](https://github.com/lodash/lodash)\r\n* Sugar：一个扩展了原生对象功能的 JavaScript 库。[官网](https://github.com/andrewplummer/Sugar)\r\n* lazy.js：类似 Underscore，但性能更优越[官网](https://github.com/dtao/lazy.js)\r\n* ramda：一个针对 JavaScript 程序员的实用函数库。[官网](https://github.com/CrossEye/ramda)\r\n* mout：模块化的 JavaScript 工具库。[官网](https://github.com/mout/mout)\r\n* mesh：流数据同步工具。[官网](https://github.com/crcn/mesh.js)\r\n\r\n<h3 id=\"reactive-programming\">响应式编程</h3>\r\n\r\n响应式程序库扩展了 JavaScript 的能力。\r\n\r\n* RxJs：对 JavaScript 进行响应式扩展。[官网](https://github.com/Reactive-Extensions/RxJS)\r\n* Bacon：JavaScript 的 FPR（函数式响应式编程）库。[官网](https://github.com/baconjs/bacon.js)\r\n* Kefir：受 Bacon.js 和 RxJS 启发的 FRP 库，专注于高性能和低内存消耗。[官网](https://github.com/pozadi/kefir)\r\n* Highland：对 JavaScript 实用工具的重新思考，Highland 能轻易地管理同步和异步信息，而且仅使用标准 JavaScript 和类 Node 流。[官网](http://highlandjs.org/)\r\n* Most.js：高性能 FRP 库。[官网](https://github.com/cujojs/most)\r\n\r\n<h3 id=\"数据结构\">数据结构</h3>\r\n\r\n数据结构库用于构建一个更复杂的应用。\r\n\r\n* immutable-js：不可变的数据集合，包括 Sequence、Range、Repeat、Map、OrderedMap、Set 和 sparse Vector。[官网](https://github.com/facebook/immutable-js)\r\n* mori：使用 ClojureScript 持久化数据结构和支持原生 JavaScript API 的库。[官网](https://github.com/swannodette/mori)\r\n* buckets：完整的、经过充分测试和记录数据结构的 JavaScript 库。[官网](https://github.com/mauriciosantos/Buckets-JS)\r\n* hashmap：简单的 hashmap 实现，支持任何类型的键值。[官网](https://github.com/flesler/hashmap)\r\n\r\n<h3 id=\"date\">日期</h3>\r\n\r\n日期库。\r\n\r\n* moment：解析、验证、操作和显示日期。[官网](https://github.com/moment/moment)\r\n* moment-timezone：基于 moment.js 的时区库。[官网](https://github.com/moment/moment-timezone)\r\n* jquery-timeago：一款支持自动更新模糊时间戳的 jQuery 插件（如：\"4 分钟之前\"）。[官网](https://github.com/rmm5t/jquery-timeago)\r\n* timezone-js：让 JavaScript Date 对象拥有时区功能。使用 Olson zoneinfo 文件记录着时区数据。[官网](https://github.com/mde/timezone-js)\r\n* date：拥有人性化的 Date() 方法。[官网](https://github.com/MatthewMueller/date)\r\n* ms.js：小巧的毫秒转换工具。[官网](https://github.com/rauchg/ms.js)\r\n\r\n<h3 id=\"string\">字符串</h3>\r\n\r\n字符串库。\r\n\r\n* selecting：一个允许你获取用户选定文本的库。[官网](https://github.com/EvandroLG/selecting)\r\n* underscore.string：扩展了 Underscore.js 的字符串操作。[官网](https://github.com/epeli/underscore.string)\r\n* string.js：额外的 JavaScript 字符串方法。[官网](https://github.com/jprichardson/string.js)\r\n* he：健壮的 HTML 实体编码/解码器。[官网](https://github.com/mathiasbynens/he)\r\n* multiline：多行字符串。[官网](https://github.com/sindresorhus/multiline)\r\n* query-string：解析和字符串化 URL 查询字符串。[官网](https://github.com/sindresorhus/query-string)\r\n* URI.js：URL 操作库。[官网](https://github.com/medialize/URI.js/) \r\n* jsurl：轻量的 URL 操作库。[官网](https://github.com/Mikhus/jsurl)\r\n* sprintf.js：实现字符串格式化。[官网](https://github.com/alexei/sprintf.js)\r\n* url-pattern：让 url 和其它字符串进行比正则表达式匹配更简单。字符串和数据可相互转化。[官网](https://github.com/snd/url-pattern)\r\n\r\n<h3 id=\"number\">数字</h3>\r\n\r\n* Numeral-js：对数字进行格式化和操作的库。[官网](https://github.com/adamwdraper/Numeral-js)\r\n* odometer：流畅的数字过渡效果。[官网](https://github.com/HubSpot/odometer)\r\n* accounting.js：对数字、金钱、货币进行格式化的轻量库——完全本地化和无依赖。[官网](https://github.com/josscrowcroft/accounting.js)\r\n* money.js：一个小巧（1kb）的货币转换库，适用于 web 和 nodeJS。[官网](https://github.com/josscrowcroft/money.js)\r\n* Fraction.js：一个有理数库。[官网](https://github.com/infusion/Fraction.js)\r\n* Complex.js： 一个复数库。[官网](https://github.com/infusion/Complex.js)\r\n* Polynomial.js：一个多项式库。[官网](https://github.com/infusion/Polynomial.js)\r\n\r\n<h3 id=\"storage\">存储</h3>\r\n\r\n* store.js：为所有浏览器封装了 LocalStorage，而没有使用 cookies 和 flash。隐秘地使用 localStorage、globalStorage 和用户数据。[官网](https://github.com/marcuswestin/store.js)\r\n* localForage：改善后的离线存储。其封装了 IndexedDB、WebSQL 和 localStorage，拥有操作简单和强大的 API。[官网](https://github.com/mozilla/localForage)\r\n* jStorage：jStorage 是一个简单的键值对数据库，用于在浏览器端存储数据。[官网](https://github.com/andris9/jStorage)\r\n* cross-storage：获得权限后，能跨域名本地存储。[官网](https://github.com/zendesk/cross-storage)\r\n* basket.js：用 localStorage 加载和缓存脚本的资源加载器。[官网](https://github.com/addyosmani/basket.js)\r\n* bag.js：可以缓存脚本和加载资源，与 basket.js 相似，但增加了键值对接口和对 localStorage / websql / [官网](https://github.com/nodeca/bag.js)undexedDB 的支持。\r\n* basil.js：智能的 JavaScript 数据持久层库。[官网](https://github.com/Wisembly/basil.js)\r\n* jquery-cookie：轻量简单的、用于读取、编辑和删除 cookie 的 jQuery 插件。[官网](https://github.com/carhartl/jquery-cookie)\r\n* Cookies：客户端 Cookie 操作库。[官网](https://github.com/ScottHamper/Cookies)\r\n* DB.js：基于 Promise 的、封装了 IndexDB 的库。[官网](https://github.com/aaronpowell/db.js/)\r\n* lawnchair.js：简单的客户端 JSON 存储。[官网](https://github.com/brianleroux/lawnchair/)\r\n\r\n<h3 id=\"color\">颜色</h3>\r\n\r\n* randomColor：JavaScript 颜色生成器。[官网](https://github.com/davidmerfield/randomColor)\r\n* chroma.js：拥有各种各样颜色操作的 JavaScript 库。[官网](https://github.com/gka/chroma.js)\r\n* color：JavaScript 颜色转换和操作库。[官网](https://github.com/MoOx/color)\r\n* colors：更智能的默认 web 颜色。[官网](https://github.com/mrmrs/colors)\r\n* PleaseJS：随机创建出赏心悦目的颜色和配色方案。[官网](https://github.com/Fooidge/PleaseJS)\r\n* TinyColor：快速、轻巧的颜色操作和转换库。[官网](https://github.com/bgrins/TinyColor)\r\n* Vibrant.js：从图像提取主要颜色。[官网](https://github.com/jariz/vibrant.js/)\r\n\r\n<h3 id=\"i18n-and-l10n\">国际化和本地化（I18n And L10n）</h3>\r\n\r\n本地化和国际化 JavaScript 库\r\n\r\n* i18next：JavaScript 最简单的国际化（i18n）方法。[官网](https://github.com/i18next/i18next)\r\n* polyglot：小巧的国际化助手库。[官网](https://github.com/airbnb/polyglot.js)\r\n* babelfish：i18n 提供友好易懂的 API ，并且内置多种支持。[官网](https://github.com/nodeca/babelfish/)\r\n\r\n<h3 id=\"class\">类</h3>\r\n\r\n* ClassManager：世界上最快、最方便的类系统之一。[官网](https://github.com/kogarashisan/ClassManager)\r\n* klass：用于创建极富表现力的类工具库。[官网](https://github.com/ded/klass)\r\n* augment：世界上最小且最快的一流 JavaScript 继承模式。[官网](https://github.com/javascript/augment)\r\n\r\n<h3 id=\"control-flow\">控制流</h3>\r\n\r\n* async：适用于 node 和浏览器的异步工具库。[官网](https://github.com/caolan/async)\r\n* q：实现异步的 promise JavaScript 库。[官网](https://github.com/kriskowal/q)\r\n* step：让逻辑顺序合理化的异步控制流库。[官网](https://github.com/creationix/step/)\r\n* contra：利用函数风格实现的异步流控制。[官网](https://github.com/bevacqua/contra/)\r\n* Bluebird：专注于革新功能和性能的，功能齐全的 promoise 库。[官网](https://github.com/petkaantonov/bluebird/)\r\n* when：快速可靠的、Promises/A+ 规范的 when() 实现，而且拥有异步其它的优秀特性。[官网](https://github.com/cujojs/when)\r\n* ObjectEventTarget：提供增加了事件监听的原型（与 DOMElement 的 EventTarget 在浏览器行为一致）。[官网](https://github.com/gartz/ObjectEventTarget)\r\n\r\n<h3 id=\"routing\">路由</h3>\r\n\r\n* director：一个小巧的、与 URL 同构的路由器。[官网](https://github.com/flatiron/director)\r\n* page.js：受 Express router 启发的小型客户端路由器（约为1200字节）。[官网](https://github.com/visionmedia/page.js)\r\n* pathjs：简单、轻量的 web 路由器。[官网](https://github.com/mtrpcic/pathjs)\r\n* crossroads：JavaScript 路由。[官网](https://github.com/millermedeiros/crossroads.js)\r\n* davis.js：使用 pushState、RESTful 风格和可降级的 JavaScript 路由器。[官网](https://github.com/olivernn/davis.js)\r\n* [angular-ui-router](http://hao.jobbole.com/angular-ui-router/)：基于AngularJS的可嵌套路由。[官网](http://angular-ui.github.io/ui-router/)\r\n\r\n<h3 id=\"security\">安全性</h3>\r\n\r\n* DOMPurify：针对 HTML、MathML 和 SVG 的仅支持DOM、快速、高容错的 XSS 过滤器。[官网](https://github.com/cure53/DOMPurify)\r\n* js-xss：通过白名单配置，即可过滤不信任的 HTML（防止 XSS 攻击）。[官网](https://github.com/leizongmin/js-xss)\r\n\r\n<h3 id=\"log\">日志</h3>\r\n\r\n* log：带有样式的 Console.log。[官网](https://github.com/adamschwartz/log)\r\n* Conzole：对 JavaScript 原生 console 对象方法和功能进行封装的 debug 面板，使其显示在页面内。[官网](https://github.com/Oaxoa/Conzole)\r\n* console.log-wrapper：将日志清晰地记录到 console，且兼容所有浏览器。[官网](https://github.com/patik/console.log-wrapper)\r\n* loglevel：最轻量的 JavaScript 日志记录工具库，向封装后可用的 console.log 方法增加可靠的日志等级。[官网](https://github.com/pimterry/loglevel)\r\n* minilog：轻量的、用流式 API 显示的、可用于客户端和服务器端的日志记录库。[官网](http://mixu.net/minilog/)\r\n\r\n<h3 id=\"regexp\">正则表达式</h3>\r\n\r\n* RegEx101：在线的 JavaScript 正则表达式测试器和调试器。同时支持 Python、PHP 和 PCRE。[官网](https://regex101.com/#javascript)\r\n* RegExr：用于创建、测试和学习正则表达式的 HTML/JS  工具。[官网](http://regexr.com/)\r\n* RegExpBuilder：使用链式方法创建正则表达式。[官网](https://github.com/thebinarysearchtree/regexpbuilderjs)\r\n\r\n<h3 id=\"media\">媒体</h3>\r\n\r\n* Ion.Sound：可用于任何网页上简单音频。[官网](https://github.com/IonDen/ion.sound)\r\n\r\n<h3 id=\"voice-command\">语音命令</h3>\r\n\r\n* annyang：向网站添加语音命令的语音识别库。[官网](https://github.com/TalAter/annyang)\r\n* voix.js：向网站、app 或游戏添加语音命令的 JavaScript 库。[官网](https://github.com/pazguille/voix)\r\n\r\n<h3 id=\"api\">API</h3>\r\n\r\n* bottleneck：强大的频率限制器，使调节流量变得更容易。[官网](https://github.com/SGrondin/bottleneck)\r\n* oauth-signature-js：适用于 node 和 浏览器的 OAuth 1.0a 签名生成器。[官网](https://github.com/bettiolo/oauth-signature-js)\r\n* amygdala：为 Web 应用提供 RESTful HTTP 客户端解决方案。[官网](https://github.com/lincolnloop/amygdala)\r\n* jquery.rest：一个让 RESTful API 更易使用的 jQuery 插件。[官网](https://github.com/jpillora/jquery.rest)\r\n\r\n<h3 id=\"vision-detection\">视觉检测</h3>\r\n\r\n* tracking.js：在 web 上实现计算视觉的一种现代方法。[官网](https://github.com/eduardolundgren/tracking.js)\r\n* ocrad.js：通过 Emscripten 用 JavaScript 实现 OCR（光学字符识别）。[官网](https://github.com/antimatter15/ocrad.js)\r\n\r\n<h3 id=\"browser-detection\">浏览器检测</h3>\r\n\r\n* bowser：一个浏览器检测器。[官网](https://github.com/ded/bowser)\r\n\r\n## UI\r\n\r\n<h3 id=\"code-highlighting\">代码高亮</h3>\r\n\r\n* Highlight.js：JavaScript 语法高亮器。[官网](https://github.com/isagalaev/highlight.js)\r\n* PrismJS：轻量、健壮和优雅的语法高亮器。[官网](https://github.com/PrismJS/prism)\r\n\r\n<h3 id=\"loading-status\">加载状态</h3>\r\n\r\n指示加载状态的库。\r\n\r\n* Mprogress.js：创建谷歌 Material 设计风格的线性进度条。[官网](https://github.com/lightningtgc/MProgress.js)\r\n* NProgress：在 Ajax'y 应用显示细长型进度条[官网](http://ricostacruz.com/nprogress/)\r\n* Spin.js：一个旋转的进度指示器。[官网](https://github.com/fgnass/spin.js)\r\n* progress.js：为页面任何对象创建和管理进度条。[官网](https://github.com/usablica/progress.js)\r\n* progressbar.js：用 SVG path 动画制作的、漂亮和响应式的进度条。[官网](https://github.com/kimmobrunfeldt/progressbar.js)\r\n* pace：自动向你的网站添加一个进度条。[官网](https://github.com/HubSpot/pace)\r\n* topbar：小巧漂亮的、与网站同宽的进度指示器。[官网](https://github.com/buunguyen/topbar)\r\n* nanobar：非常轻量的进度条。不依赖 jQuery。[官网](https://github.com/jacoborus/nanobar)\r\n* PageLoadingEffects：使用 SVG 动画展现新内容的现代方式。[官网](https://github.com/codrops/PageLoadingEffects)\r\n* SpinKit：运用 CSS 动画的加载指示器集合。[官网](https://github.com/tobiasahlin/SpinKit)\r\n* Ladda：内置在按钮的加载指示器。[官网](https://github.com/hakimel/Ladda)\r\n* css-loaders：运用 CSS 动画的旋转加载指示器的集合。[官网](https://github.com/lukehaas/css-loaders)\r\n\r\n除了上述这些库，还有收藏在 [Codepen](http://codepen.io/collection/HtAne/) 的，另外还有 [Ajaxload](http://www.ajaxload.info/)，[Preloaders](http://preloaders.net/) 和 [CSSLoad](http://cssload.net/) 这些生成器。\r\n\r\n<h3 id=\"validation\">验证</h3>\r\n\r\n* Parsley.js：不用写一行 JavaScript 代码即可在前端验证表单。[官网](https://github.com/guillaumepotier/Parsley.js)\r\n* jquery-validation：jQuery 验证插件。[官网](https://github.com/jzaefferer/jquery-validation)\r\n* validator.js：字符串验证和过滤（在使用用户输入之前清理用户输入中的有害或危险字符的操作）。[官网](https://github.com/chriso/validator.js)\r\n* validate.js：受 CodeIgniter 启发的轻量表单验证 JavaScript 库。[官网](https://github.com/rickharrison/validate.js)\r\n* validatr：跨浏览器的 HTML5 表单验证库。[官网](https://github.com/jaymorrow/validatr/)\r\n* BootstrapValidator：是验证表单域中最好的 jQuery 插件。要与 Bootstrap 3 一起使用。[官网](https://github.com/nghuuphuoc/bootstrapvalidator)\r\n* [is.js](http://hao.jobbole.com/is-js/)：检查类型、正则表达式、是否存在、时间等。[官网](https://github.com/arasatasaygin/is.js)\r\n* FieldVal：多用途验证库。同时支持同步和异步验证。[官网](https://github.com/FieldVal/fieldval-js)\r\n\r\n<h3 id=\"keyboard-wrappers\">键盘封装器</h3>\r\n\r\n* mousetrap：处理键盘快捷键的 JavaScript 库。[官网](https://github.com/ccampbell/mousetrap)\r\n* keymaster：定义和调度键盘快捷键的小型库。[官网](https://github.com/madrobby/keymaster)\r\n* Keypress：键入捕捉工具库，任何键都可以成为一个修饰健。[官网](https://github.com/dmauro/Keypress)\r\n* KeyboardJS：一个用于绑定键盘组合的 JavaScript 库，让你脱离快捷键和快捷键组合冲突的痛苦。[官网](https://github.com/RobertWHurst/KeyboardJS)\r\n* jquery.hotkeys：jQuery Hotkeys 能让你在代码任何的地方监听键盘事件，并几乎支持所有按键组合。[官网](https://github.com/jeresig/jquery.hotkeys)\r\n* jwerty：令人惊叹的键盘事件处理库。[官网](https://github.com/keithamus/jwerty)\r\n\r\n<h3 id=\"tours-and-guides\">浏览和引导</h3>\r\n\r\n* intro.js：这是一个介绍新功能的很好方式，能一步步地引导用户浏览你的网站和项目。[官网](https://github.com/usablica/intro.js)\r\n* shepherd：通过引导让用户浏览你的应用程序。[官网](https://github.com/HubSpot/shepherd)\r\n* bootstrap-tour：应用 Twitter Bootstrap 弹出框对产品进行快速简单的引导。[官网](https://github.com/sorich87/bootstrap-tour)\r\n* tourist：简单、灵活的应用引导介绍库。[官网](https://github.com/easelinc/tourist)\r\n* chardin.js：简单的应用遮罩层介绍。[官网](https://github.com/heelhook/chardin.js)\r\n* pageguide：使用 jQuery 和 CSS3 的 web 页面元素交互引导库。[官网](https://github.com/tracelytics/pageguide)\r\n* hopscotch：让开发者更容易向其页面产品添加引导的框架。[官网](https://github.com/linkedin/hopscotch)\r\n* joyride：基于 jQuery 的功能引导插件。[官网](https://github.com/zurb/joyride)\r\n* focusable：通过向页面其余部分添加遮罩层，使焦点聚集在特定 DOM 元素。[官网](https://github.com/zzarcon/focusable)\r\n\r\n<h3 id=\"notifications\">通知</h3>\r\n\r\n* messenger：为你的应用添加 Growl-style 弹框和信息（Crowl 是 Mac OS X 下的一个通知系统）。[官网](https://github.com/HubSpot/messenger)\r\n* noty：jQuery 通知插件。[官网](https://github.com/needim/noty)\r\n* pnotify：适用于 Bootstrap、jQuery UI 和 Web Notifications Draft 的 JavaScript 通知库。[官网](https://github.com/sciactive/pnotify)\r\n* toastr：用来显示简单的，会自动到期的信息窗口）简单的弹出框通知（[toast notifications](http://ux.stackexchange.com/questions/11998/what-is-a-toast-notification)[官网](https://github.com/CodeSeven/toastr)\r\n* humane-js：一个简单、时髦的浏览器通知系统。[官网](https://github.com/wavded/humane-js)\r\n* smoke.js：与框架无关的、能够自定义样式的 JavaScript 弹框系统。[官网](https://github.com/hxgf/smoke.js)\r\n\r\n<h3 id=\"sliders\">幻灯片</h3>\r\n\r\n* Swiper：使用硬件加速过渡的移动设备触控滑块框架。[官网](https://github.com/nolimits4web/Swiper)\r\n* slick：你所需要的最后一个轮播插件。[官网](https://github.com/kenwheeler/slick)\r\n* slidesJs：响应式的 jQuery（1.7.1+）幻灯片插件，具有触摸、 CSS3 过渡等特性。[官网](http://www.slidesjs.com/)\r\n* FlexSlider：一款令人惊叹的、全响应式的幻灯片 jQuery 插件。[官网](https://github.com/woothemes/FlexSlider)\r\n* unslider：最简单的幻灯片 jQuery 插件。[官网](https://github.com/idiot/unslider)\r\n* colorbox：轻量、可自定义的灯箱 jQuery 插件。[官网](https://github.com/jackmoore/colorbox)\r\n* fancyBox：提供了良好优雅的方式，为页面上的图片、html 内容和多媒体添加缩放功能的工具。[官网](https://github.com/fancyapps/fancyBox)\r\n* sly：基于项导航的、支持单向滚动的 JavaScript 库。[官网](https://github.com/darsain/sly)\r\n* vegas：向页面添加漂亮的全屏背景的 jQuery 插件，甚至允许幻灯片。[官网](https://github.com/jaysalvat/vegas)\r\n* Sequence：用于创建响应式的幻灯片、演示、旗帜广告和以步骤为基础的应用的 CSS 动画框架。[官网](https://github.com/IanLunn/Sequence)\r\n* baguetteBox.js：易于使用的、用纯 JavaScript 实现的遮罩层脚本。[官网](https://github.com/feimosi/baguetteBox.js)\r\n* reveal.js：用 HTML 创建漂亮演示控件的框架。[官网](https://github.com/hakimel/reveal.js)\r\n* PhotoSwipe：适用于移动设备和桌面电脑的、模块化和不无依赖框架的 JavaScript 画廊控件。[官网](https://github.com/dimsemenov/PhotoSwipe)\r\n* jcSlider：用 CSS 动画实现的响应式幻灯片 jQuery 插件。[官网](https://github.com/JoanClaret/jcSlider)\r\n* basic-jquery-slider：易于使用、指定主题和定制化。[官网](https://github.com/jcobb/basic-jquery-slider)\r\n* unslider： 这是最简单的幻灯片 jQuery 插件。[官网](https://github.com/idiot/unslider)\r\n* jQuery.adaptive-slider：带有自适应颜色标题和导航的幻灯片 jQuery 插件。[官网](https://github.com/creative-punch/jQuery.adaptive-slider/)\r\n* slidr：可添加一些幻灯片效果。[官网](https://github.com/bchanx/slidr)\r\n* Flickity：可触摸的、响应式的和可轻弹的画廊。[官网](https://github.com/metafizzy/flickity)\r\n\r\n<h3 id=\"range-sliders\">滑块控件</h3>\r\n\r\n* Ion.RangeSlider：强大的、易于自定义的范围滑块选择库，支持很多配置和皮肤。[官网](https://github.com/IonDen/ion.rangeSlider)\r\n* jQRangeSlider：支持日期的滑块选择库。[官网](https://github.com/ghusse/jQRangeSlider)\r\n* noUiSlider：轻量无冗余的、高度定制化的滑块选择库。[官网](https://github.com/leongersen/noUiSlider)\r\n* rangeslider.js：HTML5  input 区域滑块元素。[官网](https://github.com/andreruffert/rangeslider.js)\r\n\r\n<h3 id=\"form-widgets\">表单组件</h3>\r\n\r\n### 输入\r\n\r\n* typeahead.js：快速的、功能齐全的自动补全库。[官网](https://github.com/twitter/typeahead.js)\r\n* tag-it：处理多标签字段以及标签建议/自动完成的 jQuery UI 插件。[官网](https://github.com/aehlke/tag-it)\r\n* At.js：向你的应用添加类似 Github 的自动完成提示功能。[官网](https://github.com/ichord/At.js)\r\n* Placeholders.js：JavaScript 补全 HTML5 占位符的属性。[官网](https://github.com/jamesallardice/Placeholders.js)\r\n* fancyInput：利用 CSS3 效果让输入更有趣。[官网](https://github.com/yairEO/fancyInput)\r\n* jQuery-Tags-Input：利用这个 jQuery 插件，可奇妙地将一个简单的文本输入转换成一个酷酷的标签列表。[官网](https://github.com/xoxco/jQuery-Tags-Input)\r\n* vanilla-masker：一个纯 JavaScript 实现的输入控制库。[官网](https://github.com/BankFacil/vanilla-masker)\r\n* Ion.CheckRadio：一个为复选框和单选按钮添加样式的 jQuery 库，支持多种皮肤。[官网](https://github.com/IonDen/ion.checkRadio)\r\n\r\n### 日历\r\n\r\n* pickadate.js：对移动设备友好的、响应式的和轻量的 jQuery 日期 &amp; 时间输入选择器。[官网](https://github.com/amsul/pickadate.js)\r\n* bootstrap-datepicker：基于 bootstrap 的日历选择器。[官网](https://github.com/eternicode/bootstrap-datepicker)\r\n* Pikaday：一个崭新的 JavaScript 日期选择器 —— 轻量、无依赖和模块化的 CSS。[官网](https://github.com/dbushell/Pikaday)\r\n* fullcalendar：全尺寸、支持拖放事件的日历（jQuery 插件）。[官网](https://github.com/fullcalendar/fullcalendar)\r\n* rome：可定制的日期（和时间）选择器。无依赖，可选 UI。[官网](https://github.com/bevacqua/rome)\r\n* datedropper： datedropper 是一个 jQuery 插件，它提供了快速简易的方式去管理日期输入框。[官网](https://github.com/felicegattuso/datedropper)\r\n\r\n### 选择\r\n\r\n* selectize.js：Selectize 是文本框和选择框的混合体。它基于jQuery，拥有自动完成和键盘感应下拉列表功能，可用于标签、联系人列表等。[官网](https://github.com/brianreavis/selectize.js)\r\n* select2：它基于 jQuery，是选择框（select box）的替代品。支持搜索、远程数据集和无限滚动。[官网](https://github.com/select2/select2)\r\n* chosen：可以让冗长不便的选择框更友好的库。[官网](https://github.com/harvesthq/chosen)\r\n\r\n### 文件上传\r\n\r\n* jQuery-File-Upload：File Upload 是一个支持多文件选择、文件拖放、进度条、验证和图片、音频、视频预览的 [官网](https://github.com/blueimp/jQuery-File-Upload)jQuery 插件。\r\n* dropzone：Dropzone 是一个易于使用且支持多文件拖放的库。其支持图片预览并且拥有很好的进度条效果。[官网](https://github.com/enyo/dropzone)\r\n* flow.js：一个通过 HTML5 的 File API ，提供多个同时链接的、稳定的、容错的、可恢复的/可重新开始的文件上传库。[官网](https://github.com/flowjs/flow.js)\r\n* fine-uploader：一个带有进度条、拖放功能和支持直接上传到 S3 （Amazon Simple Storage Service，亚马逊简易存储服务）的多文件上传插件。[官网](https://github.com/FineUploader/fine-uploader)\r\n* FileAPI：JavaScript 文件工具集合。支持多文件上传、拖放和文件分块上传。对于图像，支持裁剪、调整大小和根据 [EXIF](http://baike.baidu.com/view/22006.htm) 自动调整方向。[官网](https://github.com/mailru/FileAPI)\r\n* plupload：处理文件上传的 JavaScript [官网](https://github.com/moxiecode/plupload)API，其支持多文件选择、文件类型过滤、分块请求、客户端图片缩放和根据不同的运行环境选择 HTML5、Silverlight 和 Flash。\r\n\r\n### 其它\r\n\r\n* form：jQuery 表单插件。[官网](https://github.com/malsup/form)\r\n* Garlic.js：自动在本地保存表单文本和选择框的值，直到表单被提交。[官网](https://github.com/guillaumepotier/Garlic.js)\r\n* Countable：对某个 HTML 元素包含文本的段落数、单词数和字符数进行统计的 JavaScript 函数。[官网](https://github.com/RadLikeWhoa/Countable)\r\n* card：只需一行代码，让信用卡表单变得更友好。[官网](https://github.com/jessepollak/card)\r\n* stretchy：自适应大小的 form 元素，表单本应该是这样的。[官网](https://github.com/LeaVerou/stretchy)\r\n* list.js：向表格、列表等 HTML 元素添加搜索、排序、过滤和自适应功能的库。在已有 HTML 上增加可视化。[\r\n ](http://www.listjs.com/)[官网](https://github.com/javve/list.js)\r\n\r\n<h3 id=\"tips\">提示</h3>\r\n\r\n* tipsy：基于 jQuery 的 Fackbook 风格的提示工具（tooltip）。[官网](https://github.com/jaz303/tipsy)\r\n* opentip：开源且基于 prototype 框架的 JavaScript 工具提示库。[官网](https://github.com/enyo/opentip)\r\n* qTip2：非常强大的工具提示库。[官网](https://github.com/qTip2/qTip2)\r\n* tooltipster：一个工具提示 jQuery 插件。[官网](https://github.com/iamceege/tooltipster)\r\n* simptip：用 Sass 制作的、简单的工具提示。[官网](https://github.com/arashmanteghi/simptip)\r\n* jquery-popup-overlay：是一个响应式的和可访问性强的模态框（modal）和工具提示框 jQuery 插件。[官网](https://github.com/vast-engineering/jquery-popup-overlay)\r\n\r\n<h3 id=\"modals-and-popups\">模态框和弹出框</h3>\r\n\r\n* Magnific-Popup：专注于性能、轻量、响应式的灯箱（lightbox）脚本。[官网](https://github.com/dimsemenov/Magnific-Popup)\r\n* jquery-popbox：jQuery 提示框插件。[官网](https://github.com/gristmill/jquery-popbox)\r\n* jquery.avgrund.js：一种新的定于弹出的模态框 jQuery 插件。[官网](https://github.com/voronianski/jquery.avgrund.js)\r\n* vex：新的、拥有高度可配置和易于改变样式功能的对话框库。[官网](https://github.com/HubSpot/vex)\r\n* bootstrap-modal：对 Bootstrap 默认的模态框类进行扩展。其支持响应式、可堆叠和 ajax 等。[官网](https://github.com/jschr/bootstrap-modal)\r\n* css-modal：纯 CSS 打造的模态框。[官网](https://github.com/drublic/css-modal)\r\n* jquery-popup-overlay：是一个响应式的和可访问性强的模态框和工具提示框（tooltips）jQuery 插件。[官网](https://github.com/vast-engineering/jquery-popup-overlay)\r\n\r\n<h3 id=\"scroll\">滚动</h3>\r\n\r\n* scrollMonitor：滚动发生时，可以监听元素的、简单、快速的 API。[官网](https://github.com/sakabako/scrollMonitor)\r\n* headroom：除非你需要显示页面头部（header），否则将隐藏它，以腾出页面头部空间。[官网](https://github.com/WickyNilliams/headroom.js)\r\n* onepage-scroll：创建一个类似 Apple 的单页面滚动网站（iPhone 5S  网站）。[官网](https://github.com/peachananr/onepage-scroll)\r\n* iscroll：高性能、轻量、无依赖、兼容多平台的 JavaScript 滚动组件。[官网](https://github.com/cubiq/iscroll)\r\n* skrollr：独立（不依赖 jQuery） 的视差滚动库，适用于移动设备（Android + iOS）和桌面电脑。[官网](https://github.com/Prinzhorn/skrollr)\r\n* parallax：面向智能设备的视差引擎。[官网](https://github.com/wagerfield/parallax)\r\n* stellar.js：让视差滚动变简单。[官网](https://github.com/markdalgleish/stellar.js)\r\n* plax：基于 jQuery 的视差库。[官网](https://github.com/cameronmcefee/plax)\r\n* jparallax：创建可交互视差效果的 jQuery 插件。[官网](https://github.com/stephband/jparallax)\r\n* fullPage：简单和易于使用的、用于创建全屏滚动网站的插件（也被称为单页面网站）。[官网](https://github.com/alvarotrigo/fullPage.js)\r\n* ScrollMenu：让老旧无聊的滚动条焕然一新。[官网](https://github.com/s-yadav/ScrollMenu)\r\n\r\n<h3 id=\"menu\">菜单</h3>\r\n\r\n* jQuery-menu-aim：当用户光标放在特定下拉菜单项时触发事件。可制作响应式的、大数据量的下拉菜单，如 Amazon 的。[官网](https://github.com/kamens/jQuery-menu-aim)\r\n* jQuery contextMenu：右键菜单（contextMenu） 管理工具。[官网](https://github.com/swisnl/jQuery-contextMenu)\r\n* Slideout：为移动设备的 web 应用制作出响应式的、可触摸滑出的导航菜单。[官网](https://github.com/mango/slideout)\r\n* Slide and swipe：一个基于 touchSwipe 库的滑出菜单插件。[官网](https://github.com/JoanClaret/slide-and-swipe-menu)\r\n\r\n<h3 id=\"table-grid\">表格/栅格</h3>\r\n\r\n* jTable：基于 CRUD 表创建 AJAX 的 jQuery 插件。[官网](https://github.com/hikalkan/jtable)\r\n* DataTables：这是一个非常灵活的工具，在渐进增强的基础上，将高级的交互效果加到 HTML 表格。（jQuery 插件）[官网](http://www.datatables.net/) \r\n* floatThead：（jQuery 插件）锁定表格头部，只允许表格内容滚动。适用于任何表格，而且不需要额外的 html 或 css。[官网](https://github.com/mkoryak/floatThead)\r\n* Masonry：瀑布流式的网格布局库。[官网](http://masonry.desandro.com/)\r\n* Packery：使用装箱算法（bin-packing）的网格布局库。支持拖拽布局。[官网](http://packery.metafizzy.co/)\r\n* Isotope：可过滤和可排序的网格布局的库，它能实现 Masonry、Packery 等布局。[官网](http://isotope.metafizzy.co/)\r\n\r\n<h3 id=\"frameworks-1\">框架</h3>\r\n\r\n* Semantic UI：拥有大量主题和元素的 UI 套件。[官网](http://semantic-ui.com/)\r\n\r\n<h3 id=\"gesture\">手势</h3>\r\n\r\n* hammer.js：拥有多种触摸手势的 JavaScript 库。[官网](https://github.com/hammerjs/hammer.js)\r\n* touchemulator：在桌面电脑模仿触摸输入。[官网](https://github.com/hammerjs/touchemulator)\r\n* Dragula：超级易于使用的拖拽库。[官网](https://github.com/bevacqua/dragula/)\r\n\r\n<h3 id=\"maps\">地图</h3>\r\n\r\n* Leaflet：对移动设备友好的、可交互的地图 JavaScript 库。[官网](https://github.com/Leaflet/Leaflet)\r\n* Cesium：开源的、基于 WebGL 实现的虚拟地球仪和地图引擎。[官网](https://github.com/AnalyticalGraphicsInc/cesium)\r\n* gmaps：以最简单的方式使用 Google 地图。[官网](https://github.com/HPNeo/gmaps)\r\n* polymaps：一个免费的、兼容现代 web 浏览器的、用于制作动态可交互的地图 JavaScript 库。[官网](https://github.com/simplegeo/polymaps)\r\n* kartograph.js：开源的 Kartograph SVG 地图渲染器。[官网](https://github.com/kartograph/kartograph.js)\r\n* mapbox.js：Mapbox 的 API，Leaflet 的插件。[官网](https://github.com/mapbox/mapbox.js)\r\n* jqvmap：矢量地图 jQuery 插件。[官网](https://github.com/manifestinteractive/jqvmap)\r\n* OpenLayers3：高性能的、功能丰富的库，能满足你对地图所有需求。[官网](http://openlayers.org/)\r\n\r\n<h3 id=\"video-audio\">视频/音频</h3>\r\n\r\n* prettyembed.js：更完美地嵌入 YouTube —— 拥有很好的选项，如高分辨率的预览图、嵌入选项的高级定制和可选的 [官网](https://github.com/mike-zarandona/prettyembed.js)FitVids 支持。\r\n* [html5media](http://hao.jobbole.com/html5media/)：能在所有主流浏览器播放多媒体标签中定义的多媒体文件。[官网](https://github.com/etianen/html5media)\r\n* Play-em JS：Play'em 是一个 JavaScript 组件，它能管理音乐/视频播放顺序，通过在一个 DIV 元素里嵌入几个播放器（Youtube、Soundcloud 和 Vimeo）来控制一系列歌曲的播放。[官网](https://github.com/adrienjoly/playemjs)\r\n* polyplayer：将 YouTube、Soundcloud 和 Vimeo 播放器的 API 统一成一套。[官网](https://github.com/Acconut/polyplayer)\r\n* flowplayer： HTML5 视频播放器 [官网](https://flowplayer.org/)、[Github](https://github.com/flowplayer/flowplayer)\r\n* mediaelement：让 HTML5、 Flash 播放器和模仿 HTML5 媒介元素 API 的 Silverlight shim，在所有浏览器拥有一致的 UI。[官网](http://mediaelementjs.com/)、[Github](https://github.com/johndyer/mediaelement)\r\n* SoundJS：让音频在 web 上运行更简单的库。它为不同浏览器提供了一致的 API。[官网](https://github.com/CreateJS/SoundJS)\r\n\r\n<h3 id=\"animations\">动画</h3>\r\n\r\n* velocity：加速 JavaScript 动画。[官网](https://github.com/julianshapiro/velocity)\r\n* [jquery.transit](http://hao.jobbole.com/jquery-transit/)：拥有超级流畅的 CSS3 变换和过渡的 jQuery 插件。[官网](https://github.com/rstacruz/jquery.transit)\r\n* impess.js：在 HTML 文档里，运用 CSS3 变换和过渡制作类似 Prezi 的展现效果。[官网](https://github.com/impress/impress.js)\r\n* [bounce.js](http://hao.jobbole.com/bounce-js/)：可以立刻创建有趣的 CSS3 动画。[官网](https://github.com/tictail/bounce.js)\r\n* GreenSock-JS：适用于所有主流浏览器的高性能 HTML5 动画。[官网](https://github.com/greensock/GreenSock-JS)\r\n* TransitionEnd：TransitionEnd 是一个运用 transitonend 事件的、跨浏览器的库。[官网](https://github.com/EvandroLG/transitionEnd)\r\n* [Dynamics.js](http://hao.jobbole.com/dynamics-js/)：用于创建基于物理知识的 CSS 动画库。[官网](https://github.com/michaelvillar/dynamics.js)\r\n\r\n<h3 id=\"image-processing\">图片处理</h3>\r\n\r\n* [lena.js](http://hao.jobbole.com/lena-js/)：拥有滤镜和实用功能的图像处理库。[官网](https://github.com/davidsonfellipe/lena.js)\r\n* [pica](http://hao.jobbole.com/pica/)：高质量地调整图片大小（拥有快速的、纯 JS 实现的 Lanczos 滤镜算法）。[官网](https://github.com/nodeca/pica)\r\n* cropper：一个简单的图像裁剪 jQuery 插件。[官网](https://github.com/fengyuanchen/cropper)\r\n\r\n<h3 id=\"es6\">ECMAScript 6</h3>\r\n\r\n* [es6features](http://hao.jobbole.com/ecmascript-6/)：ECMAScript 6 特性概述。[官网](https://github.com/lukehoban/es6features)\r\n* es6-features：ECMAScript 6:  特性概述和比较。[官网](https://github.com/rse/es6-features)\r\n* ECMAScript 6 compatibility table ：Compatibility tables 展示了各种平台上所有 ECMAScript 6 特性的支持程度。[官网](http://kangax.github.io/compat-table/es6/)\r\n* Babel (Formerly 6to5)：将 ES6+ 代码转换成纯 ES5。[官网](https://github.com/babel/babel)\r\n* Traceur compiler：ES6 特性转 ES5。包括 classes、generators、promises、destructuring [官网](https://github.com/google/traceur-compiler)patterns、default parameters 等。\r\n\r\n<h3 id=\"sdk\">软件开发工具包(SDK)</h3>\r\n\r\n* javascript-sdk-design：从工作和个人经验中提炼出来的 JavaScript SDK 设计指导。[官网](https://github.com/huei90/javascript-sdk-design)\r\n\r\n<h3 id=\"misc\">大杂烩</h3>\r\n\r\n* echo：利用 data-* 属性延迟加载图片。[官网](https://github.com/toddmotto/echo)\r\n* picturefill：响应式图片显示插件，使浏览器支持 srcset、size 属性。[官网](https://github.com/scottjehl/picturefill)\r\n* platform.js：一个平台检测库，几乎适用于所有 JavaScript 平台。[官网](https://github.com/bestiejs/platform.js)\r\n* [json3](http://hao.jobbole.com/json3/)：一个现代 JSON 实现库，几乎兼容所有 JavaScript 平台。[官网](https://github.com/bestiejs/json3)\r\n* Logical Or Not：一个关于 JavaScript 特性的游戏。[官网](http://gabinaureche.com/logicalornot/)\r\n* BitSet.js：实现位向量的 JavaScript 库。[官网](https://github.com/infusion/BitSet.js)\r\n\r\n<h2 id=\"worth-reading\">精品阅读</h2>\r\n\r\n* braziljs/js-the-right-way：[官网](https://github.com/braziljs/js-the-right-way/)\r\n* JSbooks：[官网](https://github.com/revolunet/JSbooks)\r\n* Superhero.js：关于创建、测试和维护一个大型 JavaScript 代码库的资源集。[官网](http://superherojs.com/)\r\n* 《[前端开发者都应知道的 jQuery 小技巧](http://web.jobbole.com/84028/)》\r\n* 《[常用的 Javascript 设计模式](http://web.jobbole.com/29454/)》\r\n* 《[10 个 jQuery 图表插件推荐](http://web.jobbole.com/21136/)》\r\n* 《[理解 JavaScript 原型](http://web.jobbole.com/9648/)》\r\n* 《[只有20行Javascript代码！手把手教你写一个页面模板引擎](http://web.jobbole.com/56689/)》\r\n* 《[编写快速、高效的JavaScript代码](http://web.jobbole.com/31951/)》\r\n* 《[45个实用的JavaScript技巧、窍门和最佳实践](http://web.jobbole.com/54495/)》\r\n* 《[为现代JavaScript开发做好准备](http://web.jobbole.com/66135/)》\r\n* 《[给JavaScript初学者的24条最佳实践](http://web.jobbole.com/53199/)》\r\n\r\n\r\n联系我，更多交流\r\n\r\n![xiaoweiquan.jpeg](//static.cnodejs.org/FrCbjyzuNmHF1u3j8t26t-cGWPnB)","title":"JavaScript 资源大全中文版","last_reply_at":"2016-07-21T02:08:50.996Z","good":true,"top":false,"reply_count":61,"visit_count":26084,"create_at":"2016-03-16T02:47:57.528Z","author":{"loginname":"i5ting","avatar_url":"https://avatars.githubusercontent.com/u/3118295?v=4&s=120"}},{"id":"56b70c15c3f170d2629955b5","author_id":"54009f5ccd66f2eb37190485","tab":"share","content":"# 展望Nodejs 2016和新年祝福\r\n\r\n《素书》里讲“推古验今，所以不惑”，所以我们先回顾一下2015年nodejs的国内外发展，继而展望一下我的2016年关于nodejs的想法和新年祝福\r\n\r\n## 回顾一下2015年\r\n\r\nhttp://i5ting.github.io/history-of-node-js/\r\n\r\n### Q1(1季度)\r\n\r\n- IO.js 1.0.0 发布\r\n- Joyent 推进建立 Node.js 基金会\r\n  - Joyent, IBM, Microsoft, PayPal, Fidelity, SAP and The Linux Foundation Join Forces to Support Node.js Community With Neutral and Open Governance\r\n- IO.js 和 Node.js 和解提案\r\n\r\n### Q2(2季度)\r\n\r\n- npm 支持私有模块\r\n- Node 项目领导人 TJ Fontaine 逐步解除核心身份并离开 Joyent 公司\r\n  - A changing of the guard in Nodeland.\r\n- Node.js 和 io.js 在 Node 基金会下合并情况\r\n\r\n### Q3(3季度)\r\n\r\n- 4.0 版本发布，即新的 1.0 版本\r\n\r\n### Q4(4季度)\r\n\r\n- Node v4.2.0，首个长期支持版本（LTS）\r\n- Apigee，RisingStack 和 Yahoo 加入 Node.js 基金会\r\n- Node Interactive\r\n  - The first annual Node.js conference by the Node.js Foundation\r\n\r\n### 总结\r\n\r\n目前的2个版本\r\n\r\n- v4.2.6 LTS（长期支持版本）\r\n- v5.5.0 Stable（稳定版本）\r\n\r\n![schedule.png](https://github.com/nodejs/LTS/raw/master/schedule.png)\r\n\r\n\r\n整体来说趋于稳定\r\n\r\n- 成立了nodejs基金会，能够让nodejs在未来有更好的开源社区支持\r\n- 发布了LTS版本，意味着api稳定\r\n- 快速发版本，很多人吐槽这个，其实换个角度看，这也是社区活跃的一个体现，但如果大家真的看CHANGELOG，其实都是小改进，而且是边边角角的改进，也就是说nodejs的core（核心）已经非常稳定了，可以大规模使用\r\n\r\n## awesome-nodejs\r\n\r\nhttps://github.com/sindresorhus/awesome-nodejs\r\n\r\n我不太喜欢sindresorhus这货，不过10,110个Star也足矣说明nodejs的火爆\r\n\r\n![awesome-node.png](//static.cnodejs.org/FknGoYj9mP6hAwZ5wWuBQst7u7oC)\r\n\r\n### 国内2015\r\n\r\n看这篇文章吧，[国内Nodejs 2015汇总](https://cnodejs.org/topic/5696e43e6272216e51bff67e)\r\n\r\n基本能总结的我都放上了。\r\n\r\n无论开源项目、web框架、线上线下聚会、精华文章、社区项目都有不错的成绩，客观的讲这篇文章并不够全面，限于我个人的知识面和精力，至少可以说明nodejs在国内的情况\r\n\r\n    言必称nodejs还为时过早，但以不知道nodejs为耻还是做到了的\r\n  \r\n另外一个事件就是微博的前端大撕逼事件，我不想评论是非，对我而言当一个技术，无数人都无法回避的时候，它就是成功的，\r\n\r\n## 我的2015\r\n\r\n2015年我跑去创业了，技术栈就是所谓的MEAN，摸爬滚打的1年里，遭遇了很多\r\n\r\n- 科普nodejs，带小弟\r\n- 写框架，总结最佳实践\r\n- 拆分、解耦，面向微服务\r\n\r\n对我而言，最难的2件事儿\r\n\r\n- 创业其实是一件挺痛苦的事儿，无薪水，所以有的时候要靠讲课维持生活，我又被迫去讲课\r\n- 招人，会nodejs的人并不多，大部分人了解js就不错了，另外我在天津，更难招人，好的都去北京了，这是一件非常痛苦的事儿，于是我做了【node全栈】公众号，通过科普去招人，目前看效果还不错的\r\n\r\n整体来说，还好，撑过来了，基于nodejs的技术栈是非常稳定的，只要在架构上屏蔽一些问题，就可以非常好的在实现和效率上取得平衡。\r\n\r\n其实有一个好的心态是最重要的。我在cnode上的签名就是“少抱怨，多思考，未来更美好”，抱怨不解决问题，还是多思考，多积累，多总结才是\r\n\r\n另外要有1颗坚定的心，切勿人云亦云，切勿带着情绪去看待问题。\r\n\r\n## 我理想的2016年\r\n\r\n很多人说我的文章写来写去就那些东西，我其实不想辩解啥，确实是科普的文章，但对我而言，是一个必须要走的过程，哈哈，在2016年我其实想做更多\r\n\r\n### 布道：完成《一起学koa》一书\r\n\r\n对于nodejs的未来，我是非常看好的，虽然我不是很喜欢es6和es7，但大势所趋.nodejs4就支持了10个es6的特性，所以es6也是需要学的\r\n\r\nnodejs异步带来的困扰也将破局，从callback到promise，从promise到generator，从generator到co，从co到async/await，无论如何generator/co和async/await会在2016年得到非常大的推广\r\n\r\n目前这些的支持除了nodejs sdk和babel外，typescript也是一个比较好的选择\r\n\r\n至于koa，目前分为1.x和2.x版本，1里已经很稳定了，和co配合也非常好。2里的es6特性整合还是有些问题，还没有最终发版，目前观望中\r\n\r\n所以我比较看好[开源Nodejs微服务项目推荐：micro](https://cnodejs.org/topic/56ad6edac3f170d262995494)这样的微框架，至少在学习koa之前，是比较简单、比较容易入门的项目，而且在微服务的大潮下，也是一个比较好的技术选型。\r\n\r\n综上所述，是2016年的我对nodejs趋势的一个看法，我希望把这些内容都写到《一起学koa》一书中。\r\n\r\n希望自己能够不打自己脸，能够按时完成，无论工作多忙或者其他原因。\r\n\r\n### 技术咨询\r\n\r\n我个人非常看好nodejs全栈和大前端的前景，在2015年我做了非常多的科普的事儿，在2016年我希望能够做一些技术咨询的工作\r\n\r\n在公共号和微信里有很多人咨询过各种问题，这是非常有前景的工作，而且存在大量需求，很多公司或个人技术选型的时候，常常会被各种意见所左右，需要有相对专业的人给出建议\r\n\r\n**我很喜欢nodejs，但我不会让nodejs做所有的事儿，从实践的角度看，2016年会是百花齐放的技术多样性局面，目前docker、微服务、以及跟着高性能语言、框架等，技术选型已经不是从前那个只看团队、性能的年代，我们应该更多的围绕如何快速发展和架构眼光去看待技术选型**\r\n\r\n目前已有人付费咨询\r\n\r\n- http://senecajs.org/\r\n- https://github.com/Mashape/kong\r\n\r\n等\r\n\r\n希望能够有机会给更多公司服务，欢迎联系我i5ting@126.com\r\n\r\n### 完成《Nodejs微信开发》课程\r\n\r\n我和StuQ合作一门课程，和微信开发有关，年前已经讲过1期了，反响还不错，2期会在年后讲，目前人都已经招满了，完成好一门课和写一本书基本是一样的，都需要非常多的时间和精力\r\n\r\n希望自己能够出一个不错的视频课程\r\n\r\n### cnodejs社区\r\n\r\n我依然还会像2015年一样处理所有帖子，原则以内的好说，原则以外的还请谅解。\r\n\r\n另外就是cnodejs作为一个比较活跃的社区，其实有很多精华，这点在总结《国内Nodejs 2015汇总》时就深有体会。另外很多人在我的公众号【node全栈】里会回复问一些技术内容，我的想法是，把这些精华的帖子汇总一下，标签一下，以便更多人可以在公众号上访问，如果@alsotang不开公众号的话，我就会放到我的公众号【node全栈】里。\r\n\r\n## 祝福\r\n\r\nnodejs已经占到风口上了，希望大家能够把握机会，在2016年收获更多技术、财富\r\n\r\n最后祝大家新年快乐，万事如意，阖家欢乐\r\n\r\n\r\n全文完\r\n\r\n欢迎关注我的公众号【node全栈】\r\n\r\n![node全栈.png](//static.cnodejs.org/FtALxsauUkYDGdzcuA5y6BaIdUMC)\r\n\r\n\r\n[如果想参与评论，请点击原文链接，进入国内最专业的cnode论坛](http://mp.weixin.qq.com/s?__biz=MzAxMTU0NTc4Nw==&mid=410212313&idx=1&sn=961236e1ed448edcbb144ca19e0d28be#rd)","title":"展望Nodejs 2016和新年祝福","last_reply_at":"2016-06-11T07:13:18.605Z","good":false,"top":false,"reply_count":42,"visit_count":37232,"create_at":"2016-02-07T09:19:17.268Z","author":{"loginname":"i5ting","avatar_url":"https://avatars.githubusercontent.com/u/3118295?v=4&s=120"}},{"id":"5696e43e6272216e51bff67e","author_id":"54009f5ccd66f2eb37190485","tab":"share","content":"# 国内Nodejs 2015总结\r\n# Nodejs中文书籍\r\n\r\n-[ Node.js实战（第2季） 2015-10-01 吴中骅 雷宗民 赵坤 刘亚中 ](http://nodejs.ucdok.com/)\r\n\r\n# Nodejs国内开源项目\r\n\r\n- [Austack 认证即服务](https://cnodejs.org/topic/55e5102e36d8c74b211853bb)\r\n- [ioredis - 一个支持 Cluster 和 Sentinel 的 Redis 库](https://cnodejs.org/topic/5538cd8491bdb6e41239d3e3)\r\n- [Mabolo: 轻量级的 MongoDB ORM](https://cnodejs.org/topic/5571ab06c4e7fbea6e9a2e9e)\r\n- [一个自用的极简 ORM，带三方缓存支持——Toshihiko](https://cnodejs.org/topic/54f93e9ec0330b8b3e0106ab)\r\n- [A Much Better Pomelo Game Server Framework (网易Pomelo框架深度优化版) ](https://github.com/rain1017/quick-pomelo)\r\n\r\n# Nodejs Web框架\r\n\r\n- [Thinkjs第一个全面支持使用 ES6/7 特性开发的 Node.js 框架](http://github.com/75team/thinkjs)\r\n- [Nokit最初从 asp.net 借鉴不少思想](https://github.com/Houfeng/nokit) 2015年7月19日 发布的第一个公开的 release 版本\r\n- [Paloma——一个类 Angular 的 Node.js MVC框架](https://github.com/palomajs/paloma)\r\n- [Moajs: full stack framework based expressjs、mongoose、bluebird、mocha](https://github.com/moajs)\r\n- [Trekjs: Next generation full-stack JavaScript open source solution, based on Koa.](github.com/trekjs/trek)\r\n- [Toa:  A pithy and powerful web framework.](https://github.com/toajs/toa)\r\n\r\n# Node Party国内线下聚会\r\n\r\n## 2015年5月\r\n\r\n- ［ 北京］[5月31日 NodeJS Party](https://cnodejs.org/topic/556e7754bf871b3962efb8ef)\r\n\r\n## 2015年7月\r\n\r\n- 2015-07-11 09:00 ~ 2015-07-12 19:00，深JS——2015 JS中国开发者大会\r\n- ［ 北京］[7月5日 NodeJS Party](https://cnodejs.org/topic/5593b13b6ba28efa30a603cd)\r\n  - Meteor 开发从0到1 刘吉洋\r\n  \r\n## 2015年8月\r\n\r\n- ［北京］[8月9日 NodeJS Party](https://cnodejs.org/topic/55c1ce495965fe2c74f477c5)\r\n\r\n## 2015年9月\r\n\r\n- ［ 北京］9月13日 NodeJS Party\r\n- 9月19号 [珠三角 Node Party](https://cnodejs.org/topic/55751355c4e7fbea6e9a3055)\r\n  - Node技术栈在混合应用中的实践  【CashLee】\r\n  - Node多项目配置文件管理-经验之作【老雷】\r\n  - 一个JS程序员的全栈心路历程 【路飞】\r\n  \r\n## 2015年10月\r\n\r\n- 10月17日 BJ NodeJS Party 分享\r\n\r\n## 2015年11月\r\n\r\n- 11月14日 BJ NodeParty 分享\r\n- 11月14号 [珠三角 Node Party](https://cnodejs.org/topic/55751355c4e7fbea6e9a3055)\r\n  - 做个雷大厨，如何从头开发一个微信公众号 【老雷】\r\n  - Meteor + React，快速全栈开发 Web App【荆雷】\r\n  - 键盘极客猎奇分享-工具分享【黑山】\r\n\r\n## 2015年12月\r\n\r\n- 2015年12月13日 北京NodeParty@零壹时光\r\n\r\n# 文档汇总\r\n\r\nhttp://git.oschina.net/ubiware/node-party/\r\n\r\n- [9月13日 NodeJS Party](https://cnodejs.org/topic/55efee1e4b6a9b371ef8177b)\r\n  - A Web Developer’s Learning from App Development - Steve\r\n  - Open Austack - 一个MEAN架构下的开源项目介绍，包括背景、设计、开发过程，Austack是SaaS服务，Identity as a Service.\r\n  - Node.js Based IM - by Mofei\r\n- [10月17日 BJ NodeJS Party 分享](https://cnodejs.org/topic/562987ede6a3804c5815916d)\r\n  - Introduce TypeScript\r\n  - 创业企业中使用Docker\r\n- [北京11月14日 BJ NodeParty 分享](https://cnodejs.org/topic/5652ce23e0f7c7a96d97338c)\r\n  - WebComponents and Polymer\r\n  - Autodesk - View and data API\r\n  - http://wangxinhan.com/2015/11/15/11.14BJNodeParty/\r\n- [北京12月13日 NodeParty@零壹时光 照片，演讲PPT](https://cnodejs.org/topic/5678f68011487b1e4bae0514)\r\n  - 倪楷分享了在baidu地图，百度慧眼中，渲染大量点，线，面的情况下，使用node-canvas的经验。对比了数据渲染的前端处理或者后端处理的使用场景。\r\n  - 黄偲（cai），无安利的讲了在智课教育线上系统中，实践React, Redux 的经验。黄偲分享的干货让很多人兴奋。\r\n  - 做六人行和91拼团的周磊，作为创业者，他与大家分享了许多设计产品的观点和GrowthHacker理念，激发了大家的热烈讨论！\r\n- [让我们谈谈「生产环境中的 Node.js」- Node 地下铁第 1 次线下沙龙总结](https://cnodejs.org/topic/5694c72cc2289f51658f096b)\r\n- [首届官方Node.js大会 slides 和视频](https://cnodejs.org/topic/566f6f48b4844e992a12686a)\r\n- [【深js】ppt分享](https://cnodejs.org/topic/55a25700419f1e8a23a64372)\r\n  - 朴灵《Node Profiler》 https://github.com/JacksonTian/shenjs\r\n    - 另见 http://alinode.aliyun.com/\r\n  - 老雷《微服务架构下的服务通讯》http://t.cn/RLbrot6\r\n  - Database Everywhere: A Reative Data Architecture for JavaScript - Evan You: http://www.slides.com/evanyou/shenjs\r\n  - Unlimited Power - ES6 Generators - Brian Holt: https://speakerdeck.com/btholt/unlimited-power-es6-generators\r\n  - koa 和 toa 的框架原理及开发实践 - 严清：http://www.zensh.org/slides/2015toakoa/index.html\r\n  - JavaScript The World’s Best Programming Language - Hax: http://johnhax.net/2015/js-the-best/#0\r\n- [深圳全球架构师大会 ArchSummit PPT 收集分享](https://cnodejs.org/topic/55a9ca1b0b9ddb895675dfd6)\r\n  \r\n# 精华汇总\r\n\r\n## nodejs 科普\r\n\r\n- [来自朴灵大大的 -- Node.js 简史](https://cnodejs.org/topic/555d3d54e684c4c8088a0d78)\r\n- [精华 Node.js最新Web技术栈（2015年5月）](https://cnodejs.org/topic/55651bf07d4c64752effb4b1)\r\n- [Node.js最新技术栈之Promise篇](https://cnodejs.org/topic/560dbc826a1ed28204a1e7de)\r\n- [NodeJS 异常处理 uncaughtException 篇](https://cnodejs.org/topic/5576a30bc4e7fbea6e9a32ad)\r\n- [NodeJS服务监控报警系统的核心实现和开源共建](https://cnodejs.org/topic/56746866cd926feb0c0c8f12)\r\n- [聊聊实时 Node 应用性能监测的实现](https://cnodejs.org/topic/558a80b0c31358754d3aa343)\r\n- [Node.js 启动方式：一道关于全局变量的题目引发的思考](https://cnodejs.org/topic/565715c7b1e04fda51bcdf53)\r\n- [Node.js 启动方式：一道关于全局变量的题目引发的思考·续](https://cnodejs.org/topic/5657ffd82972c1bd5178c5cd)\r\n- [Node.js的Buffer那些你可能不知道的用法](https://cnodejs.org/topic/56499568d28aa64101600fdc)\r\n- [解析 node-murmurhash 库：说说 Node.js 二进制操作](https://cnodejs.org/topic/564a1ae51ba2ef107f854cfc)\r\n- [简单实现Promise/A+. 对着文档 .含注释](https://cnodejs.org/topic/5603cb8a152fdd025f0f5014)\r\n- [Node.js定制REPL的妙用](https://cnodejs.org/topic/563735ed677332084c319d95)\r\n- [ nodejs里的repl](https://cnodejs.org/topic/55c2ba865965fe2c74f478ac)\r\n- [记一次用 NodeJs 实现模拟登录的思路](https://cnodejs.org/topic/561ca8f95a4ffebe39e2fb18)\r\n- [timer的优化故事](https://cnodejs.org/topic/55f28b29b8a2e3a367529b9d)\r\n\r\n## 架构\r\n\r\n- [消息系统设计与实现「上篇」](https://cnodejs.org/topic/561e789e30e69d1b2ad8b27f)\r\n- [消息系统设计与实现「下篇」](https://cnodejs.org/topic/56485dd8b68278b07f982804)\r\n- [cookie session，jwt，弱一致性数据与重放攻击](https://cnodejs.org/topic/55a533617abefcbe22a81edc)\r\n- [单点登录的三种实现方式](https://cnodejs.org/topic/55f6e69904556da7553d20dd)\r\n- [Web开发Session相关](https://cnodejs.org/topic/5537092448636414313a7351)\r\n- [Web 开发后端缓存思路](https://cnodejs.org/topic/55210d88c4f5240812f55408)\r\n- [浅谈cnode社区如何防止csrf攻击](https://cnodejs.org/topic/5533dd6e9138f09b629674fd)\r\n## nodejs 工具类\r\n\r\n- [ Gulp实战和原理解析（以weui作为项目实例）](https://cnodejs.org/topic/561f8c8f3f4d1fb610995bd8)\r\n- [ Lo-Dash 与 Underscore，Prototype 与 jQuery，两段恩怨情仇](https://cnodejs.org/topic/566f73b91d2912ce2a35aa1c)\r\n\r\n## 翻译\r\n\r\n- [NodeJS 错误处理最佳实践](https://cnodejs.org/topic/55714dfac4e7fbea6e9a2e5d)\r\n- [10 Habits of a Happy Node Hacker 2016](https://cnodejs.org/topic/566ef3ef1d2912ce2a35aa13)\r\n- [从coffeeScript迁移到ES6](https://cnodejs.org/topic/55617b144eb040084cfe5e13)\r\n- [请用 Node.js 4.0.0](https://cnodejs.org/topic/55efcc524b70f72113ff4f3b)\r\n- [ 设计优雅 UI 的 7 条准则（翻译精简版）](https://cnodejs.org/topic/557c165616839d2d539362a8)\r\n\r\n## 其他\r\n\r\n- [ Using Docker Compose in Node.js Project](https://cnodejs.org/topic/5629c84ee6a3804c5815918d)\r\n- [向mongodb里插入10万条记录的代码怎么写？](https://cnodejs.org/topic/55233cbfe78dd0ea3b4060b3)\r\n- [Mongodb线上真实事故案例](https://cnodejs.org/topic/55c97a997a5d91fa63fe9ce7)\r\n- [mongodb分页优化](https://cnodejs.org/topic/559a0bf493cb46f578f0a601)\r\n- [Mongodb索引实战](https://cnodejs.org/topic/555bf91ee684c4c8088a0c0f)\r\n- [mongodb运维之副本集实践](https://cnodejs.org/topic/5590adbbebf9c92d17e734de)\r\n- [玩转 React 服务器端渲染](https://cnodejs.org/topic/5660f8f9d0bc14ae27939b37)\r\n- [chrome插件分享 gitlab-tree 更方便的浏览Gitlab上的代码](https://cnodejs.org/topic/566d50cc5af0e6ab3bf1a2ac)\r\n- [Meteor 的 reactive 特性](https://cnodejs.org/topic/5639ce0a7320b237394c5a3d)\r\n- [JavaScript柯里化](https://cnodejs.org/topic/56261a249b48ca9448b776c4)\r\n- [JavaScript语言中的糟粕](https://cnodejs.org/topic/5631e6fe9599e16e2aec79fa)\r\n- [JavaScript类型检测](https://cnodejs.org/topic/561cb6bfdd986b5c39ff1c7e)\r\n- [图解Javascript上下文与作用域](https://cnodejs.org/topic/5599521293cb46f578f0a57e)\r\n- [图解Javascript原型链](https://cnodejs.org/topic/55accdeab4ab1d7d02bf0d8c)\r\n- [ 项目需要造了个轮子，轻量级双向数据绑定工具 modelite.js](https://cnodejs.org/topic/55e70bcd2994cac32e89c815)\r\n- [初探 MySQL 的 Binlog](https://cnodejs.org/topic/55c895e37a5d91fa63fe9be3)\r\n- [ 使用 coffee 来测试 cli 命令行工具](https://cnodejs.org/topic/555779847cabb7b45ee6bd04)\r\n\r\n## for feature\r\n\r\n- [ES2015 & babel 实战：开发NPM模块](https://cnodejs.org/topic/565c65c4b31692e827fdd00c)\r\n- [体验异步的终极解决方案-ES7的Async/Await](https://cnodejs.org/topic/5640b80d3a6aa72c5e0030b6)\r\n- [co的实现（Promise化的4.X版）](https://cnodejs.org/topic/553fa3e62bd4939b1e9055a3)\r\n- [使用 BabelJS 编写 Nodejs Package](https://cnodejs.org/topic/55743f84c4e7fbea6e9a2fd4)\r\n- [ES6语法实践，用ES6重写《JavaScript Patterns》中的设计模式](https://cnodejs.org/topic/5565b4a77d4c64752effb5dd)\r\n\r\n# 社区项目\r\n\r\n## 维护中的客户端\r\n\r\n- from @ilanceli 《CNode 官方客户端》 https://github.com/lanceli/cnodejs-ionic\r\n\r\n- from @TakWolf 《【CNode Material Design】 Android原生第三方客户端》https://github.com/TakWolf/CNode-Material-Design\r\n\r\n- from @soliury 《React-Native 客户端【v1.0.0-alpha】【RN + Redux】【求issue】》 https://github.com/soliury/noder-react-native\r\n\r\n- from @shinygang 《用Vue.js编写了cnodejs.org的h5客户端(webapp)》 https://github.com/shinygang/Vue-cnodejs\r\n\r\n\r\n点评，技术上都是比较新的，ionic，rn，vue都不错\r\n\r\n## 开源项目《一起学koa》\r\n\r\n开源是最好的学习平台，大家一定要多多参与，我们也希望能够和大家一起，完成一本让大家更容易学习koa的书\r\n\r\n技术顾问\r\n\r\n- @fundon （蔡神）\r\n- @alsotang  （唐少）\r\n- @leizongmin  （老雷）\r\n\r\n- [原文](https://cnodejs.org/topic/5668e0a55af0e6ab3bf1a1d8)\r\n- gitbook地址 http://base-n.github.io/koa-generator-examples/\r\n- 预览地址见 http://base-n.github.io/koa-generator-examples/\r\n\r\n# 年度最佳\r\n\r\n## 年度最佳调优工具alinode\r\n\r\nalinode 是阿里云出品的 Node.js 应用服务解决方案，是一套基于社区 Node 改进的运行时环境和服务平台。在社区的基础上我们内建了强大的支持功能，帮助开发者迅速洞见性能细节，快速定位疑难杂症，直探问题根源。\r\n\r\n- 官网 http://alinode.aliyun.com/\r\n- [部署alinode](https://cnodejs.org/topic/561f289b4928c5872abc18ee)\r\n\r\n## 年度最佳编辑器Visual Studio Code\r\n\r\nvsc一出现就非常火爆，虽然也有一些功能特性缺失，如代码折叠等，但开源后有非常不错的表现。另外vsc对nodejs代码调试做了非常多的优化，比node-inspector快很多\r\n\r\n- [Visual Studio Code Guide升级版](https://cnodejs.org/topic/56192cab41ceb58c4f8e6e67)\r\n- [用Visual Studio Code写Node.js](https://cnodejs.org/topic/55f673920209f4f25879f418)\r\n\r\n## 年度最有前途框架 ThinkJS 2.0\r\n\r\n2015 年 10 月 30 日，ThinkJS 发布全新 2.0 版本，使用 async/await 解决异步问题，借助 Babel 编译，可以直接使用 ES6/7 特性进行开发，是第一个全面支持使用 ES6/7 特性开发的 Node.js 框架。\r\n\r\n- 2015/11/21 - 360 训练营前端专场\r\n- 2015/11/27 - ThinkJS 走进美丽说\r\n- 2015/12/18 - ThinkJS 走进 D2\r\n- 2015/12/11 - ThinkJS 走进今日头条\r\n- 2015/12/07 - 加入 Node.js 微信群\r\n\r\n## 年度最佳中文文档《io.js API 中文文档》\r\n\r\n- https://cnodejs.org/topic/55928df39418ff516f650e6b\r\n- http://davidcai1993.gitbooks.io/nodejs-api-doc-in-chinese/content/index.html\r\n\r\n## 年度最佳线下活动组织者：hain （王海良）\r\n\r\n7场北京线下聚合\r\n\r\nhttps://cnodejs.org/user/Samurais\r\n\r\n## 年度最佳新人: DavidCai1993 （蔡伟）\r\n\r\n- https://cnodejs.org/user/DavidCai1993\r\n- https://github.com/DavidCai1993\r\n\r\n理由\r\n\r\n- 翻译了iojs文档\r\n- 翻译了typescript文档\r\n- ES6语法实践，用ES6重写《JavaScript Patterns》中的设计模式\r\n- 从coffeeScript迁移到ES6\r\n- co的实现（Promise化的4.X版）\r\n- [Koa implementation in TypeScript](https://github.com/DavidCai1993/ts-koa)\r\n\r\n目前蔡伟在teambition实习，是严清（zensh）的小弟，从上面的列表可以看出，技术很好，前卫，深度，也同时擅长文档翻译，未来看好，希望他可以像 @luin 一样，有成名主线项目\r\n\r\n## 年度最佳普及 Node.js 的公司：阿里巴巴\r\n\r\n@alsotang 回复里提到的，这个确实算，双十一可谓是阿里让nodejs风头尽出\r\n\r\n参见[Node.js 在双十一中有哪些应用，表现如何？](https://www.zhihu.com/question/37379084/answer/71894611)\r\n\r\n# 写在最后\r\n\r\n这是我个人整理的，如果有不合理的或者没提到到得，请帮忙补充\r\n\r\n\r\n全文完\r\n\r\n欢迎关注我的公众号【node全栈】\r\n\r\n![node全栈.png](//static.cnodejs.org/FtALxsauUkYDGdzcuA5y6BaIdUMC)\r\n\r\n\r\n联系我，更多交流\r\n\r\n![xiaoweiquan.jpeg](//static.cnodejs.org/FrCbjyzuNmHF1u3j8t26t-cGWPnB)","title":"国内Nodejs 2015汇总","last_reply_at":"2016-06-11T10:08:23.087Z","good":true,"top":false,"reply_count":119,"visit_count":94155,"create_at":"2016-01-13T23:56:46.312Z","author":{"loginname":"i5ting","avatar_url":"https://avatars.githubusercontent.com/u/3118295?v=4&s=120"}},{"id":"56e79399b5b04c8f6d4ec35e","author_id":"56d5b9687fc3af3a77db46f9","tab":"share","content":"强烈建议增加收藏功能","title":"强烈建议增加收藏功能","last_reply_at":"2016-03-16T07:12:48.272Z","good":false,"top":false,"reply_count":25,"visit_count":6520,"create_at":"2016-03-15T04:46:17.096Z","author":{"loginname":"zhangyou1010","avatar_url":"https://avatars.githubusercontent.com/u/1215483?v=4&s=120"}}]}