优秀JavaScript资源汇总

jopen 9年前

Awesome JavaScript

JavaScript是一个仅在一周就被发明出来的小玩意,所以,它有着有多的缺陷,即使是这样,它已经存在了20年,全世界几乎每台电脑都至少装有一个JavaScript解释器,况且今天这个当初的小玩意的目标是编写大型的企业应用。如果你对JavaScript的理解仅限于DOM操纵,页面动画,jQuery等等,本列表将为你展现JavaScript的更多的令人震撼的功能。

这份列表是一些优秀的网络资源的汇总,部分资源可能需国内或许不能访问(梯子)访问。本列表不追求大而全,而追求寻找那些对JavaScript中的某些知识点有着独到见解的网络资源,希望这些资料的汇集能够为您在寻找类似资料的时候带来一点便利。

JavaScript

Reading

  1. Eloquent JavaScript Online Book
  2. Speaking JavaScript: An In-Depth Guide for Programmers
  3. JavaScript高级程序设计,第三版
  4. JavaScript秘密花园
  5. JavaScript精粹
  6. 阮一峰: JavaScript 标准参考教程

Blogs

  1. @ality - JavaScript and more
  2. Blog: Ariya Hidayat

Abstract Syntax Tree

Basic Knowledge

  1. 美团:抽象语法树在JavaScript中的应用
  2. 轻松搞定JavaScript预解析机制
  3. JavaScript编译运行原理
  4. SlideShare: JavaScript: Abstract Syntax Tree
  5. SlideShare: Esprima, what is that

Tools

  1. SpiderMonkey: Reflect.parse - Mozilla's Parser API
  2. Esprima: most popular ECMAScript parser in JS
  3. Acorn - faster alternative ECMAScript parser in JS
  4. UglifyJS - has own parser with custom AST format

Esprima解析得到的抽象语法树AST遵循SpiderMonkey的API

Helpers

  1. Esprima Online Parser
  2. ESLint - The pluggable linting utility for JavaScript and JSX
  3. aster - AST-based code builder

Tutorial

  1. Esprima tutorial
  2. Fun with Esprima and Static Analysis
  3. Parsing and modifying JavaScript code with Esprima and Scodegen

Functions

  1. JavaScript Immediately-Invoked Function Expression

Promise

  1. Browser-side: bluebird, a full featured promise library
  2. Nodejs-side: co - he ultimate generator based flow-control goodness for nodejs (supports thunks, promises, etc)

Modular

Reading

  1. 从零开始实现一个JavaScript模块化加载器
  2. Eloquent JavaScript, chapter 10, Modules
  3. 详解JavaScript模块化开发
  4. 图文:SeaJS与RequireJS最大的区别
  5. 模块化开发,SeaJS简单总结
  6. Why AMD?
  7. 百度EFE:玩转AMD
  8. 异步模块定义AMD API中文版
  9. CommonJS规范 中文版
  10. RequireJS in Node
  11. 前端模块及依赖管理的新选择:Browserify
  12. Browserify Handbook

Tutorial

  1. Understanding RequireJS for Effective JavaScript Module Loading
  2. Writing Modular JavaScript With AMD, CommonJS & ES Harmony

ES 5

  1. Object.create()
  2. Object.defineProperty
  3. getter
  4. setter
  5. 严格模式
  6. JSON
  7. Array.prototype.map()
  8. Array.prototype.filter()

Future

  1. 跟 Web Components 打个啵

React.js

  1. 颠覆式前端UI开发框架:React
  2. React.js Starter Kit
  3. Getting started with 非死book's React.js
  4. Navigating the React Ecosystem

ECMAScript 6

Reading

  1. Learn ES2015, a detailed overview of ECMASCRIPT 6 features
  2. 阮一峰: ECMAScript 6入门
  3. Exploring ES6: Upgrade to the next version of JavaScript
  4. InfoQ专栏:深入浅出ES6(更新中)
  5. Mozilla: ES6 in Depth

Speech

  1. 油Tube: John Paul - ES6 Right Now
  2. 油Tube: PeterHallam & AlexRussell: Traceur: JS to JS compiler

Tutorial

  1. Using the ES6 transpiler Babel on Node.js
  2. Traceur, Gulp, Browserify and ES6

Libraries

  1. Github: es6-shim, ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines
  2. Babel is a JavaScript compiler.
  3. Github: Traceur, a JavaScript.next-to-JavaScript-of-today compiler
  4. Traceur REPL
  5. Babel REPL
  6. Github: grunt-traceur
  7. Github: gulp-traceur
  8. Github: broccoli-traceur
  9. Github: es6ify

Questions

  1. StackoverFlow: Differences between Babel and Traceur

ES6 Iterators/Generator

  1. Iterators gonna iterate
  2. 油Tube: ES6 Generator Tutorial
  3. The Basics Of ES6 Generators
  4. 学习ES6生成器
  5. Workshop: Learn Generators
  6. ECMAScript 2015: Generators and Iterators

ES6 Promise

  1. 谈谈ES6的Promise对象
  2. 异步流程控制:7 行代码学会 co 模块

Node.js

Reading

  1. Book: Node.js In Action
  2. Node.js概述
  3. List: Awesome nodejs
  4. Eleoquent JavaScript, chapter 20, Node.js
  5. 七天学会Node.js
  6. Node.js Manual & Documentation
  7. Node.js Process对象
  8. Node编码规范
  9. ES6 on node.js
  10. 美团酒店Node全栈开发实践

Node.js Tutorial

  1. Creating and Publishing Node.js Modules
  2. Node.js Tutorial Collection
  3. NodeSchool

Node.js Modules

Modulefs

  1. fs模块简介
  2. How do I write files in node.js?
  3. Create Simple Text File in Node.js Using 'fs' Module
  4. Making directory along with missing parents in Node.js

Modulepath

  1. path模块简介

Koajs

  1. Koajs - 下一代Node.js Web框架
  2. Koa中文文档
  3. PPT: Co and Koa Talk
  4. Getting Started With Koajs
  5. Koajs开发最佳实践
  6. Koajs中间件开发最佳实践和应用架构建议
  7. Why you should and shouln't use Koa
  8. Kick-Off-Koa - An intro to koa via a set of self-guided workshops
  9. Workshop - A workshop to learn the the basics of koa, Express's spiritual successor
  10. Koajs quick start guide

Template Language

Nunjucks

  1. Nunjucks 快速上手
  2. doc: Nunjucks 可用模版列表

Jade

  1. Jade - a Node Template Engine, Language Reference
  2. Jade Syntax Documentation

Tools

Editor

  1. WebStrom
  2. Visual Studio Code
  3. Visual Studio Community

Tutorial

  1. Hello Visual Studio Code (with Node.js)
  2. John Papa: Debugging with Visual Studio Code

Build

Reading

  1. The State of JS Build Tools 2015

Git/ Github/ Gitlab

If you use Github, just use Github for Windows; If you use Gitlab in a internal network, you can use TortoiseGit as a GUI tool for git.

  1. 油Tube: TortoiseGit Tutorial
https://github.com/wwsun/awesome-javascript