NodeJS 学习资料汇总

Installation

Go to http://nodejs.org/, download node.js installer and follow instructions. Mac OS, Windows, and Linux are supported.

JavaScript

To use Node.js you need to have a decent understanding of JavaScript language.

Development Tools/IDEs

Online

  • Cloud9 - cloud-based IDE with native support for development of Node.js applications including debugging and other features. Note that you can also install it locally.
  • Nitrous.io - is both an IDE and environment in the cloud. Has both online and desktop versions. Paid.
  • Koding - offers you a free bootable VM with Node. Also you can work on the same code with your friends.
  • Cloud IDE (a.k.a eXo Cloud IDE, a.k.a cod envy) - cloud development IDE and environment with continuous integration and other features. Offers both hosted and on-premises solutions.

Hosting Providers

  • Nodejitsu - hosting, databases and private NPM. Free for Open Source.
  • OpenShift
  • Heroku - Dead simple to use.
  • Modulus -Scalable application platform (PaaS) for developers, offering Node.js hosting, MongoDB, and performance analytics in the cloud.
  • Codio - Powerful web based IDE, free for public projects

Fundamentals

Asynchronous Programming

Node Package Manager (nam)

Debugging

Tutorials

Command line

Blog posts/articles

Videos

Free Courses

Free Books

Frameworks

  • Sinatra like:
    • connect - an extensible HTTP server framework for Node.js using “plugins” known as middleware.
    • express.js - a Sinatra inspired Web development framework for Node.js.
    • hapi - a rich framework for building Web applications and services.
    • express.io = Express + Socket.io.
    • koa - an expressive middleware for Node.js using generators.
    • Flatiron - framework components for Node.js and a browser.
    • total.js - a Web application framework for creating rich Web sites and Web services.
  • MVC:
* [Geddy][129] - a simple, structured Web framework for Node.js.
* [Sails.js][130] - a realtime MVC Framework for Node.js.
* [Compound][131] - the compound formula is Express + Structure + Extensions.
  • Full stack:
* [meteor.js][132] - Meteor is an ultra-simple environment for building modern Web applications. Built using Node.js, Meteor is a framework on its own. Please see an [amazing list of Meteor resources][133] for more information.
* [Derby][134] - the MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.
* [SocketStream][135] - A fast, modular Node.js Web framework dedicated to building realtime single-page applications.

If you would like to learn more about Node.js frameworks, please visit nodeframework.com and nodewebmodules.com.

CLI TOOLS

CMS

Static Site Generators

  • Hexo - fast, simple & powerful blog framework.
  • Metalsmith - extremely simple, pluggable static site generator.
  • Harp - static web server with built-in preprocessing.
  • Assemble - static site generator for Grunt.js, Yeoman and Node.js.
  • Wheat - a blog engine for coders written in node.JS.
  • Punch - a fun and easy way to build modern websites.
  • Blacksmith - generic static site generator built using flatiron, plates, and marked.
  • Poet - a node.js blog engine.

See extensive collection of Static Site Generators including other languages at http://www.staticgen.com/

Libraries

  • socket.io - a realtime application framework for Node.JS, with HTML5 WebSockets and cross-browser fallbacks support.
  • mongoose - MongoDB object modeling designed to work in an asynchronous environment.
  • winston - a multi-transport asynchronous logging library for Node.js
  • passport - simple, unobtrusive authentication for Node.js.
  • async - asynchronous utilities for Node and the browser.
  • Q - a tool for making and composing asynchronous promises in JavaScript.
  • co - the ultimate generator based flow-control goodness for nodes;
  • jade - Jade - a robust, elegant, feature-rich template engine for Node.js.
  • ejs - embedded JavaScript templates for Node.js.
  • lodash - a utility library delivering consistency, customization, performance, and extras.
  • request - a simplified HTTP request client.
  • config - a runtime configuration for Node.js. modules.
  • Passport - simple, unobtrusive authentication for Node.js that supports OpenID and OAuth.

Testing

Read about various approaches to testing Node.js code:

Some popular testing frameworks:

  • mocha - a simple, flexible JavaScript test framework for Node.js and a browser. (BDD, TDD, QUnit styles via interfaces).
  • jasmin-node - integration of the Jasmine Spec framework with Node.js.
  • sinon - test spies, stubs, and mocks for JavaScript.
  • chai - a BDD / TDD assertion framework for Node.js and a browser.
  • supertest - a super-agent driven library for testing Node.js HTTP servers using a fluent API.
  • rewire - a dependency injection for Node.js applications.
  • node-jscoverage - JSCoverage for Node.js.

What To Read

Communities/Groups

Blogs/News

Who to Follow

Node mavens

You can find the most famous Node.js developer at Nodemavens.

Resource

Comments