node.js 学习路径

来源:互联网 发布:电子元器件数据库 编辑:程序博客网 时间:2024/05/18 02:05

Tutorials

  • NodeSchool.io interactive lessons
  • Hello World
  • Hello World Web Server
  • Node.js guide
  • Build a blog with Node.js, express and mongodb
  • Node.Js Tutorials At Project 70
  • Node.js for Beginners
  • Learn Node.js Completely and with Confidence

Videos

  • Node tuts
  • Introduction to Node.js with Ryan Dahl
  • Node.js: Asynchronous Purity Leads to Faster Development
  • Parallel Programming with Node.js
  • Server-side JavaScript with Node, Connect & Express
  • Node.js First Look
  • Node.js with MongoDB
  • Ryan Dahl's Google Tech Talk

Screencasts

  • Learn All The Nodes
  • NodeTuts
  • NodeCasts

Books

  • The Node Beginner Book
  • Mastering Node.js
  • Up and Running with Node.js
  • Node.js in Action
  • Smashing Node.js: JavaScript Everywhere
  • Node.js & Co. (in German)
  • Sam's Teach Yourself Node.js in 24 Hours
  • Most detailed list of free JavaScript Books
  • Mixu's Node Book
  • Node.js the Right Way: Practical, Server-Side JavaScript That Scale
  • Beginning Web Development with Node.js

Courses

  • Real Time Web with Node.js

Blogs

  • The Node.js blog
  • How To Node
  • DailyJS
  • Nodejitsu blog
  • Ryan Wilcox's Whitepaper
  • devthought

Podcasts

  • NodeUp

JavaScript resources

  • Crockford's videos (must see!)
  • Essential JavaScript Design Patterns For Beginners
  • JavaScript garden
  • JavaScript Patterns book
  • JavaScript: The Good Parts book

Node Modules

  • Search for registered node.js modules
  • Wiki List on Github/Joyent/Node (start here last!)
  • A completely biased and incomplete selection of useful Node modules

Other

  • JSApp.US - like jsfiddle, but for node.js
  • Node with VJET JS (for Eclipse IDE)
  • Production sites with published source:
    • Node Knockout Hackathon (source)
  • Useful Node.js Tools, Tutorials and Resources
  • Runnable.com - like jsfiddle, but for server side as well
==================================================================================

First, learn the core concepts of Node.js:

  • You'll want to understand the asynchronous coding style that Node encourages.

  • Async != concurrent. Understand Node's event loop!

  • Node uses CommonJS-style require() for code loading; it's probably a bit different from what you're used to.

  • Familiarize yourself with Node's standard library.

Then, you're going to want to see what the community has to offer:

The gold standard for Node package management is NPM.

  • It is a command line tool for managing your project's dependencies.

  • Make sure you understand how Node and NPM interact with your project via the node_modules folder and package.json.

  • NPM is also a registry of pretty much every Node package out there

Finally, you're going to want to know what some of the more popular packages are for various tasks:

Useful Tools for Every Project:

  • Underscore contains just about every core utility method you want.
  • CoffeeScript makes JavaScript considerably more bearable, while also keeping you out of trouble!
    • Caveat: A large portion of the community frowns upon it. If you are writing a library, you should consider regular JavaScript, to benefit from wider collaboration.

Unit Testing:

  • Mocha is a popular test framework.
  • Vows is a fantastic take on asynchronous testing, albeit somewhat stale.
  • Expresso is a more traditional unit testing framework.
  • node-unit is another relatively traditional unit testing framework.

Web Frameworks:

  • Express is by far the most popular framework.
  • Meteor bundles together jQuery, Handlebars, Node.js, websockets, mongoDB, and DDP and promotes convention over configuration without being a Rails clone.
  • Tower is an abstraction of top of Express that aims to be a Rails clone.
  • Geddy is another take on web frameworks.
  • RailwayJS is a Ruby-on-Rails inspired MVC web framework.
  • SailsJS is a realtime MVC web framework.
  • Sleek.js is a simple web framework, bulit upon express.js.

Web Framework Tools:

  • Jade is the HAML/Slim of the Node world
  • EJS is a more traditional templating language.
  • Don't forget about Underscore's template method!

Networking:

  • Connect is the Rack or WSGI of the Node world.
  • Request is a very popular HTTP request library.
  • socket.io is handy for building WebSocket servers.

Command Line Interaction:

  • Optimist makes argument parsing a joy.
  • Commander is another popular argument parser.
  • Colors makes your CLI output pretty.

0 0