10+ 最佳的 Node.js 教程和实例
如果你正在找Node.js的学习资料及指南,那么请继续(阅读),我们的教程将会覆盖即时聊天应用、API服务编写、投票问卷应用、人物投票APP、社交授权、 Node.js on Raspberry Pi等等。
以下是Node.js入门的简单介绍,如果你对Node.js略有了解可以直接跳过此部分。
那什么是Node.js呢?
Node.js是迄今运用最多的服务端JavaScript运行时环境,使用JavaScript开发跨平台的实时WEB应用。
Node.js基于Google的V8 JavaScript引擎。基于事件驱动,非阻塞的输入输出模型,这也使得其高效而轻量。
Node.js的强大之处在于其能力支持数据密级性的交互应用,因为这类应用的函数围绕着用户事件,数据I/O和数据流的处理。对于JSON的API,Node.js同样显得很神奇,它是单页WEB应用的心脏和灵魂。
Node.js的流行程度可以感觉得到,像eBay、target、City Group、Sony、Uber、LinkedIn、Medium、Netflix等等的大公司都有在他们的web项目中应用。
怎样学习Node.js呢?
Node.js的开发者来自全球,他们用Node.js开发复杂交互的,数据密集型的WEB Apps和网站。同时网上有着大量的资源和教程教你怎样构建自己的Node.js应用。
我们不防看看Node.js大神针对Web Apps写的Node.js最佳指南。
我们所覆盖的指南将包括针对初学者的Node.js、中级指南,同时还有教你怎样构建复杂的Node.js项目。
对于完全的Node.js初学者, 在深入挖掘本文章后续提到的学习项目之前,一步步按照airpair.com上面 入门指南的要点 或 Node.js入门指南 之类的文章学习是不错的选择。 Nodeschool.io是另一个比较好的网站,上面有着非常多的资料,可以学习基本的node.js及相关的技术。
通过Express框架和Socket.io构建即时通讯APP
将一个新技术学到一定高度的最好方式就是通过功能性的应用了。在这个指南中,你将学习使用Express框架和Socket.io构建即时通讯应用,这些技术可以使用基于事件的双向通信。在这个指南中,你还将使用 JavaScript模板引擎Jade。
我们要介绍的指南由Krasimir Tsonev所撰写,发布在tutsplus.com上面,从node.js的环境搭建,使用Express框架的后端服务,到最后使用Jade模板引擎的前端UI开发,覆盖了所有前端到后端的方方面面。
你可以在后面这个链接中找到这篇指南: 即时通讯(Node.js Tutorial – Real Time Chat) .
使用Swagger创建Restful API
这个精心设计的教程解释了如何使用Swagger来创建 REST API,并且包括了Rest API应该支持的所有操作(CRUD,创建,查询,更新,删除)。这个例子是由来自scotch.io的Samuela Zara提供的,它实现了管理电影集合的Rest API。
Swagger是一个非常强大的框架来描述REST APIs,它提供了交互式的API文档编辑,客户端sdk生成以及发现服务。通过使用Swagger,你所书写的API将更容易被大家所理解并且使用。
在这个教程中,Samuela一开始先教会大家如何安装node.js的Swagger模块,然后介绍了Swagger提供的模拟模式。通过这个模式,API开发者可以先集中精神进行API本身的设计,而不用写一行的代码。当这个API结构被设计完成之后,教程开始带领大家具体实现获取电影,增加/修改电影以及删除电影的操作。
你可以通过 Restful API in Node.js using Swagger这个链接来访问该教程。
在 Node.js 中使用 Nodal 建立 API Services
在大多数模块和框架之上,你就不会需要再建立任何简陋的 JavaScript/Node.js 项目。为了多平台(移动端,web,IOT)产品开发,面向服务的架构是关键的,而本教程就将带你更进一步。
在本教程中,Keith Horwood 利用 Nodal 框架在 Node.js 中来创建 API services,并让这一切看起来极其简单。Nodal 是一个可扩展的,以意见为依据的全服务框架,它帮助数据中心加快在 Node.js 基础上的API创建。
在本教程中,你将会在开发 MVC (模型,控制器和视图)之前安装 node.js 环境,安装 Nodal 和 postgreSQL。
你可以在这里找到本教程: 在 Node.js 中使用 Nodal 建立 API Services.
Node.js Apps – 使用通行证进行社交认证
社交认证几乎随处可见,因为我们绝大多数人在Facebook 、Twitter和Google这样的某个社交网络上都有自己的账号。社交网络认证的工作过程是使用已有的社交网络证书进行单点登录,同时可以登录到其它的程序。
在本教程中,你会构建一个简单的Node.js程序,通过使用通行证作为中间件使用社交认证进行登录。本教程由Agraj Mangal编写,发表在tutsplus.com网站上。
要获得本教程可访问链接 Node.js Apps – Social Authentication with Passport.
使用Rethink DB和Node.js开发投票App
本教程主要针对的是对Node.js有基本理解的初学者。在本教程中,你能通过开发一个简单的投票app学习Node.js,该程序给用户提供投票的三个选项,并提供投票人数的实时更新。
Angular和angural素材设计库用于程序的前端设计,Node.js用于服务器端,rethink DB用来存储投票数据和相关联的用户数据。
通过编写完成这样一个简单的程序,你就可以掌握创建整个程序的方方面面。
要获得本教程可访问- Polling App using Rethink DB and N ode.js.
使用React、Node.js、MongoDB、Socket.IO开发一个角色投票App
这是高级 程序员必须要读的教程,当然,它不属于初学者学习的最容易的例子。这是一篇由Sahat Yalkabov编写的经过精心组织的教程,目的是为多人在线游戏(Eve Online)开发一个角色投票应用,这简直就是一个功能完整的项目。Eve Online是一个多人在线游戏,每个玩家都有一个3D形象来代表他们的角色。
本教程包括使用Node.js框架构建REST API,使用MongoDB保存和检索数据,使用Socket.io实时跟踪在线的访问者,使用React(和 Flux)进行服务端的渲染,最后将程序布署到云端。在本教程中,你能够开发完成一个为Eve Online进行角色投票的app,能以一种有趣好玩的方式学习到多项技术。
要获得本教程可访问- Character Voting App – Node.js, React, MongoDB and Socket.io
使用 Node.js 和 Reactive.js 的 WI-FI 仪表板
这个教程是由 Marcello La Rocca 在 Sitepoint.com 上编写的,适合中级的 Node.js 编程者。Marcello 的引领来自之前的系列教程,它还引导建立了一个仪表板添加更多关于周围可连接 Wi-Fi 的信息。
在这个教程中,你实现的服务器运行在Ubuntu上,做一点小修改也可以运行在windows和mac上。服务器实现的扩展来自于 Marcello 之前的教程 - 使用 Node.js创建电池。实现服务器搭建之后,你编写客户端和用户接口并使用HTML模板给当前的 Wi-Fi 列表。
你可以找到这个教程 使用 Node.js 和 Reactive.js 编写 WI-FI 仪表板。
测试驱动的开发 – Node.js 和 Mocha
这篇由Semaphoreci.com提供的教程将交会你如何使用Mocha来进行单元测试和集成测试。
Mocha是一个JavaScript测试框架,它既可以运行在浏览器中,也可以运行在Nodejs环境中。Mocha将按照顺序执行所有的测试,并将出现的未捕获异常映射到相应的测试用例上。
你可以通过使用npm来引入mocha模块。这个教程中的例子实现了一个颜色转换程序,这个程序将RGB转换成16进制形式。这个教程还创建了一个web服务器来测试异步代码。
你可以通过下面的链接 Test Driven Development – Node.js and Mocha找到这个教程。
在树莓派上使用Node.js
这篇Node.js教程是”在创造中学习”(learning through making)系列的一部分,该系列由Dave Johnson编写,发表在thisdavej.com网站上。通过本教程,你能学会在树莓派2和树莓派3上安装Node.js。本教程自始至终主要关注的是在树莓派上安装Node.js。 学完本教程后,你可以进一步学习本系列中的其它教程,以便学会在树莓派上使用Node.js,教程包括“探索使用Node.js在树莓派上创建因特网web服务器”和“不用编码而只使用node.js创建web服务器”。
要获得本教程和其它相关的教程可访问 Node.js on Raspberry Pi。
Node.js教程:开发情绪分析应用
这是另一篇优秀的教程,由Scott Rich编写,发表在IBM developerWorks上。本教程使用Node.js, Express框架, Sentiment模块和ntwitter模块开发了一个基于推特进行情绪分析的小型程序。 在本教程中,你将学习设置express框架,运行并测试hello Node.js程序,以确保框架工作正常,为程序添加情绪分析功能,并将程序连接到twitter,最后将它们整合在一起,以形成一个功能完整的程序。
在 Twitter Sentiment Analysis App in Node.js上可以找到这篇教程。
结论
Node.js是有魔力的,它承诺可以让用户很容易地进行实时交互程序和Restful APIs的开发。网络上有很多Node.js教程,有免费的也有需要付费的。当然,你可以花费时间去搜索那些教程,并通读它,最终学会用Node.js开发杀手级的App和API。但是,俗话说,时间就是金钱。本文提供了node.js例子教程,就是想为你节省时间。
更好的节省时间的方式是从第一天开始就要正确的选择Node.js教程。本文提及的Marcello, Sahat Yalkabov, Keith Horwood和其他的一些作者都是Node.js领域的专家,曾编写《可靠的Node.js实例教程》。培养兴趣,和伟大的Node.js一起前行吧。