我如何开始使用Node.js

有没有什么好的资源开始使用Node.JS? 任何好的教程,博客或书籍?

当然,我已经访问了它的官方网站http://nodejs.org/ ,但我不认为它们的文档是一个很好的起点。

教程

  • NodeSchool.io交互式课程
  • 节点的艺术(Node.js的介绍)
  • 你好,世界
  • Hello World Web服务器 (付费)
  • Node.js指南
  • 使用Node.js,express和MongoDB构build博客
  • 初学者的Node.js
  • 充分和自信地学习Node.js
  • 绝对初学者指南Node.js
  • 节点JS处理模型 – 具有事件循环体系结构的单线程模型
  • RisingStack的节点英雄系列
  • 很棒的Node.js教程由编程社区投票
  • Node.js食谱
  • Node.js教程

  • 30天的节点

开发者网站

  • Joyent的节点开发者网站

影片

  • Node Tuts (Node.jsvideo教程)
  • Node.js中的Einführung(德语)
  • Ryan Dahl介绍Node.js
  • Node.js:asynchronous纯度导致更快的开发
  • 使用Node.js进行并行编程
  • 带有Node,Connect和Express的服务器端JavaScript
  • Node.js首先看
  • Node.js与MongoDB
  • Ryan Dahl的Google技术讲座
  • 实时Web与Node.js
  • Node.js初学者教程
  • Pluralsight课程(付费)
  • Udemy了解并了解Nodejs(付费)
  • 新波士顿

截屏

  • 了解所有节点
  • 节点Tuts
  • Node.js中的Einführung(德语)
  • NodeCasts

图书

  • 节点初学者书
  • 掌握Node.js
  • 启动并运行Node.js
  • Node.js在行动
  • 粉碎Node.js:无处不在的JavaScript
  • Node.js&Co.(德文)
  • 山姆的自学Node.js在24小时内
  • 最详细的免费JavaScript书籍列表
  • Mixu的Node Book
  • Node.js正确的方法:实用,可扩展的服务器端JavaScript
  • 从Node.js开始Web开发
  • 节点Web开发
  • NodeJS为正义的通用统治!

培训class

  • 实时Web与Node.js
  • DevelopMentor的基本Node.js

博客

  • Node.js博客
  • 如何节点
  • DailyJS
  • Nodejitsu博客
  • 瑞安威尔科克斯的白皮书
  • devthought

播客

  • NodeUp

JavaScript资源

  • Crockford的video (必须看!)
  • 基本的JavaScriptdevise模式初学者
  • JavaScript花园
  • JavaScript模式书
  • JavaScript:好的部分书
  • 雄辩的JavaScript书

Node.js模块

  • search注册的Node.js模块
  • 精心devise的Node.js库清单
  • GitHub / Joyent / Node.js上的Wiki列表 (从这里开始吧!)

其他

  • JSApp.US – 像jsfiddle,但为Node.js
  • VJET JS节点(适用于Eclipse IDE)
  • 制作网站发布来源:
    • 节点敲除Hackathon (来源)
  • 有用的Node.js工具,教程和资源
  • Runnable.com – 和jsfiddle一样,但是也用于服务器端
  • 在Heroku上开始使用Node.js
  • 在Open-Shift上开始使用Node.js
  • 使用Passport进行身份validation

首先,学习Node.js的核心概念:

  • 您需要了解Node.js鼓励的asynchronous编码风格 。

  • asynchronous!=并发。 了解Node.js的事件循环 !

  • Node.js使用CommonJS风格的require()来加载代码; 这可能与你习惯的有所不同 。

  • 熟悉Node.js的标准库 。

然后,你会想看看社区提供什么:

Node.js包pipe理的黄金标准是NPM 。

  • 这是一个pipe理项目依赖关系的命令行工具 。

  • 确保您了解Node.js和NPM如何通过node_modules文件夹和package.json与您的项目进行交互 。

  • NPM也是几乎所有Node.js包的registry

最后,你会想知道一些更受欢迎的软件包是用于各种任务的:

每个项目的有用工具:

  • 下划线包含您想要的每个核心实用程序方法。
  • Lo-Dash是Underscore的一个克隆,其目标是更快,更具可定制性,并且有不less下划线没有的function。 它的某些版本可以用作下划线的下拉式replace。
  • TypeScript使JavaScript变得更加可以忍受,同时也让你免于麻烦!
  • JSHint是一个代码检查工具,可以节省大量的时间find愚蠢的错误。 找一个你的文本编辑器的插件,将自动运行在你的代码。

unit testing:

  • 摩卡是一个stream行的testing框架。
  • 誓言是asynchronoustesting,尽pipe有点陈旧的一个奇妙的。
  • Expresso是一个比较传统的unit testing框架。
  • 节点单元是另一个比较传统的unit testing框架。
  • AVA是内置Babel的新testing运行者,并行运行testing。

网页框架:

  • Express.js是目前最stream行的框架。
  • Koa是由Express.js团队devise的一个新的Web框架,旨在为Web应用程序和API提供更小,更具performance力和更强大的基础。
  • sails.js是Node.js最stream行的MVC框架,基于express。 它旨在模拟熟悉的Ruby on Rails框架MVC模式,但支持现代应用程序的需求:数据驱动的API与可扩展的面向服务的体系结构。
  • meteor将jQuery,Handlebars,Node.js, WebSocket , MongoDB和DDP捆绑在一起,并且不用Ruby on Rails克隆就可以促进约定而不是configuration。
  • Tower ( 已弃用 )是Express.js顶层的抽象,旨在成为Ruby on Rails的克隆。
  • Geddy是另外一个Web框架。
  • RailwayJS是受Ruby on Rails启发的MVC Web框架。
  • Sleek.js是一个简单的Web框架,build立在Express.js之上。
  • Hapi是一个以configuration为中心的框架,内置了对inputvalidation,caching,authentication等的支持。
  • Trails是一个现代的Web应用程序框架。 它build立在Rails和Grails谱系的基础之上,通过坚持直接的,基于约定的,API驱动的devise理念来加速开发。

  • Danf是一个全栈的OOP框架,它提供了许多function,以便生成可伸缩,可维护,可testing和高性能的应用程序,并允许在服务器(Node.js)和客户端(浏览器)两端以相同的方式进行编码。

  • Derbyjs是一个反应式的全栈JavaScript框架。 他们很长一段时间都在使用反应式编程和同构JavaScript等模式。

  • Loopback.io是一个function强大的Node.js框架,用于创buildAPI并轻松连接到后端数据源。 它有一个Angular.js SDK,并为iOS和Android提供SDK。

Web框架工具:

  • Jade是Node.js世界的HAML / Slim
  • EJS是一个更传统的模板语言。
  • 不要忘记Underscore的模板方法 !

联网:

  • Connect是Node.js世界的Rack或WSGI。
  • 请求是一个非常stream行的HTTP请求库。
  • socket.io便于构buildWebSocket服务器。

命令行交互:

  • minimist只是命令行参数parsing。
  • Yargs是parsing命令行参数的强大库。
  • Commander.js是用于构build一次性命令行应用程序的完整解决scheme。
  • Vorpal.js是构build成熟,沉浸式命令行应用程序的框架。
  • 粉笔使您的CLI输出漂亮。

使用stream:

使用源,卢克。

不,但我认真地发现,从源代码构buildNode.js,运行testing以及查看基准确实让我走上了正轨。 从那里,lib目录中的.js文件是一个很好的地方,特别是文件http.js.

更新:一年前我写了这个答案,自那时以来,人们在学习Node.js时可以获得大量资源。 虽然我仍然认为潜入源头是值得的,但我认为现在有更好的方式开始。 我会build议一些关于Node.js的书开始出现。