运行gulp项目报错:AssertionError: Task function must be specified。

解决方案 今天像往常一样,编写文章,并使用gulp bulid压缩代码,但是一运行:gulp build 就出现了这个错误:AssertionError: Task function must be specified。 gulp项目需要全局安装gulp和项目内安装gulp,通过 gulp -v 查看全局gulp 和本地项目的gulp版本: image.png 这俩显然,不一致。 下面,我们可以看到项目里记录的gulp的版本号: image.png 可以卸载修改json文件里面的版本号:为gulp 3 版本。如 3.9.1 重新运行 npm install gulp 3 和 gulp 4运行方式是不一样的,所以会出现错误。具体细节,可以看这里 gup3 VS gulp4 区别 Gulp 4最大的变化就是你不能像以前那样传递一个依赖任务列表。 Gulp3,如果有一个任务A,B和C的列表,你想在一个序列中运行(确保A在B开始之前完成,而B在C开始之前完成),代码如下:

  在Gulp 4中,你不能再这样做了。你会得到以下错误:

  不要用Gulp3的方式指定依赖任务,你需要使用gulp.series和gulp.parallel,因为gulp任务现在只有两个参数。 gulp.series:按照顺序执行 gulp.paralle:可以并行计算

 

  或者这样

  相关任务必须在被调用之前发生。 参考: https://github.com/gulpjs/gulp/blob/master/docs/API.md https://www.fastless.com/gulp-4 https://www.jianshu.com/p/40b99bed3127 作者:cuteximi_1995 链接:https://www.jianshu.com/p/c30ff8592421 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

用gulp实现代理,解决跨域问题

gulpfile.js

  1、在本地起一个服务,端口号为3000。 2、open:默认打开的文件的路径 3、directoryListing:是否显示文件列表 4、proxies: 设置代理 接口调用: 接口调用 url http://localhost:3000/api 作者:动次动次forever 链接:https://www.jianshu.com/p/237bc5c04fa1 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

【五】gulp之用建立一个代理服务器(解决前端跨域问题)

为什么需要使用代理? 目前,前端发展飞速,前后端分离式开发已经不是新鲜事儿。 1 如果前端只是静态的页面(不需要调用后端的api加载动态数据),那么前端直接在本地开发即可。 即使是前后端分开部署,只需要单独为前端启动一个服务,使用gulp-connect即可。不会?(请戳gulp之用gulp-connect开启一个本地webServer) 2 如果前端需要调用后端提供的接口呢?除非前后端部署在同一个服务器上,否则由于浏览器的限制是没办法跨域请求数据的。真实情况是,我们在本地开发时就需要访问接口,这时后端的程序猿给你的往往是这样一个地址 http://192.168.1.123/controller/action,有人说上传代码到http://192.168.1.123/放在一个目录下不就行了,是啊!可以的。但是好麻烦有没有,调试接口需要传代码上去!!!! 3 如果我的数据是从其他的服务器来的呢?例如我想访问豆瓣的开放接口

豆瓣告诉你,不行!你跨域了! 所以,还是代理来的方便。 代理是个什么鬼? 代理请求通俗点讲,就是把发往 a.com的请求,通过代理服务器发送到b.com。 怎么开启一个代理? 代码如下:

说明 '/api' =>匹配你要代理的请求地址前缀 target=》你要把请求代理到哪 pathRewrite =》是把你再页面中写的请求地址 某部分 重写为后面的字符串 (例子中讲 请求中写的 /api 重写为 空字符串) 也就是发往 /api/book/1220562的请求最终会被发往 https://api.douban.com/v2/book/1220562 页面写请求时的写法

目录结构 image.png 运行效果 image.png 结语 当然还有其他的方式,比如 node、cros、jsonp、phpheader、nginx设置代理 作者:coder_turbo 链接:https://www.jianshu.com/p/cc543fd0d7c5 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

学习ES6零基础-彩票项目中,解决项目代码中运行错误的问题

最近在学习ES6,在B站上看了一些视频再结合阮一峰老师的《ES6标准入门》基本上对ES6的各特性过了一遍,那就开始动手练项目咯,在找到视频对应的代码后,下载并运行出现了几个问题,通过百度又没查到相关的解决思路,这不还得科学上网,毕竟你询问的人群是全世界,总有适合的哪一个。话不说,开始叙述问题,并一步步的解决问题。项目的源代码在我的github上:https://github.com/sun2013126370/es6-lottery-master,视频的话去B站找咯。 先说一下我的相关配置吧

1 2 3 第一个问题: Failed to load external module @babel/register 网上说gulp的版本变成3.9.0(命令:npm install -g gulp@3.9.0)就可以,可以解决这个问题,但是至今还没找到出现这个问题的原因。还好,这个问题并不影响项目的运行,因此选择忽略这个错误或者将gulp的版本换成3.9.0都可以。 第二个问题:TypeError: require.extensions.hasOwnProperty is not a function 这个问题是由版本造成的,打开项目中的package.json,将0.3.1版本改成0.3.2即可,并执行npm install 命令。 重新执行gulp --watch命令,又发现了如下错误,go on! 第三个问题:gulp[13772]: src\node_contextify.cc:628: Assertion `args[1]->IsString()’ failed. 具体什么原因,还没有搞明白,后续再补充。解决这个问题的办法就是npm install natives,再次运行 gulp --watch,OK啦,项目起来了。在浏览器输入localhost:3000,就看到效果了。那接下来就是敲敲项目代码,把出现问题的原因找出来。   from:https://blog.csdn.net/a2013126370/article/details/84102343

Nodejs Sass安装报错一招解决

背景: 这个问题不是一天两天了,有时候是网速不行,有时候是被墙了,有时候是github把node-sass的包转移目录导致下载失败。 Cannot download "https://github.com/sass/node-sass/releases/download/xxx/binding.node的问题 另附node-sass的binding.node各个版本的安装包,哪里少,就单独下载哪个,下载完了之后,跟着我,一起把文件放在指定位置即可解决这个问题 https://github.com/sass/node-sass/releases/tag/v4.7.2 1.本机位置 C:\Users\Administrator\AppData\Roaming\npm-cache\node-sass\ 这个里面是各种版本,报错提示你哪个版本下载失败,你就塞到哪个版本的文件夹里,如图所示 2.删除项目的node_moduls目录 3.重新npm install 4.另附全局安装命令

qq 43163707 落雨 本文地址:http://www.cnblogs.com/ae6623/p/8711853.html

静态资源缓存控制编译工具

前不久在 知乎 上回答了一个问题:大公司里怎样开发和部署前端代码?。其中讲到了大公司在前端静态资源部署上的一些要求: 配置超长时间的本地缓存 —— 节省带宽,提高性能 采用内容摘要作为缓存更新依据 —— 精确的缓存控制 静态资源CDN部署 —— 优化网络请求 更资源发布路径实现非覆盖式发布 —— 平滑升级 其中比较复杂的部分就是 以文件的摘要信息为依据,控制缓存更新与非覆盖式发布 这个细节。因此基于 fis 包装了一个简单的命令行工具,并设立此项目,用于演示这部分功能。 这个工具基于 fis 的小工具是完全可以用作工程中的,有任何问题可以在 这里 留言。 请跟着下面的步骤来使用这个命令行小工具: 第一步:安装工具 这个命令行小工具依赖 nodejs 环境,因此,请先确保本地安装了它。 使用 nodejs 随带的 npm 包管理工具进行安装:

第二步:创建项目 在 命令行 下clone本仓库,或者自己创建一个新的项目,并进入:

在项目根目录下创建一个空的 fis-conf.js 文件,这是工具配置,什么都不用写,空着就行。 然后开始在项目目录下,随意创建或添加 页面、脚本、样式、图片、字体、音频、视频等等前端资源文件,正常写前端代码吧! 第三步:发布代码 在项目根目录下执行:

然后去到 ../output 目录下去查看一下产出结果吧,所有静态资源都以md5摘要形式发布了出来,所有资源链接,我说 所有链接,包括html中的图片、样式、脚本以及js中的资源地址、css中的资源地址全部都加上了md5戳。 上述命令中,--md5 就是表示要给所有资源定位标记加上摘要信息的意思,不加这个参数就没有摘要信息处理。--dest ../output 表示把代码发布到当前目录上一级的output目录中。整个这条命令还可以简写成:

或者进一步连写成:

在本地服务器中浏览发布代码 你本地安装了诸如 Apache、Nginx、Lighttpd、IIS等服务器么?如果安装了,假设你的服务器 根目录 在 d:\wwwroot,你可以利用rsd工具的release命令,把代码发布过去,比如:

这样就把代码发布到了本地服务器根目录下,然后就可以在浏览器中查看效果了! 如果你本地没有安装任何服务器,你可以使用rsd内置的调试服务器,执行命令:

接下来我们同样要把代码发布到这个内置服务器中,release命令如果省略 --dest <path>参数,就表示把代码发布到内置服务器的根目录下:

在浏览器中访问: http://localhost:8080 即可   一些小技巧 rsd集成了对很多前端编程语言的支持,包括: 类CSS语言:less, sass, scss, stylus 类JS语言:coffee-script 类HTML语言:markdown, jade 前端模板:handlebars-v1.3.0, EJS 内置了压缩器,在release的时候追加 -o 或者 --optimize 参数即可开启,压缩器包括: clean-css: 压缩所有类CSS语言代码 uglify-js: 压缩所有类JS语言代码 html-minifier: 压缩所有类HTML语言代码 还可以给资源加CDN域名,在release的时候追加 -D 或者 --domains 参数即可,域名配置写在fis-conf.js里:

所有常规代码中的资源定位接口都会经过工具处理,包括: 类CSS文件中: 背景图url font-face字体url ie特有的滤镜属性中的src 类JS文件中: 提供了一个叫 __uri('path/to/file') 的编译函数用于定位资源 类HTML文件中: link标签的href属性 script, img, video, audio, object 等标签的src属性 script标签中js代码里的资源定位标记 style标签中css代码里的资源定位标记 所有资源文件可以任意相互引用,工具会处理资源定位标记,使之服从知乎回答中提到的优化策略。 还提供了资源内嵌的编译接口,用于把一个资源的内容以文本、字符串或者base64的形式嵌入到 任意 一个文本文件中。 为了不用每次保存代码就执行一下release命令,工具中提供了文件监听和浏览器自动刷新功能,只要在release的时候在追加上 -w 和 -L 两个参数即可(注意L的大小写),比如:

关于这个小工具 它的原码在 这里。是的,就这么一点点代码,花了大概半小时写完的,因为一切都在 fis 中集成好了,我只是追加几个语言编译插件而已。   from:https://github.com/fouber/static-resource-digest-project

node.js连接mssql,并用moment格式化时间

  引用: https://blog.csdn.net/u010668495/article/details/50817136 https://www.npmjs.com/package/mssql https://www.cnblogs.com/cyfhykx/p/6224078.html

解决Node.js调用fs.renameSync报错的问题(Error: EXDEV, cross-device link not permitted)

今天开始学习Node.js,在写一个文件上传的功能时候,调用fs.renameSync方法错误   出错代码所在如下:

大致分析后,预计是因为跨磁盘分区移动或操作文件会有权限问题。 下面提供两种解决办法: 方法一: 主要利用fs的createReadStream、createWriteSream和unlinkSync方法 具体代码如下:

PS:我用的node版本是0.10.69,如果使用的是0.6以下的版本,可以使用util.pump 相应代码只需将上面的代码中readStream.on处改成:(注意引入util模块)

  方法二: 这种就简洁很多了 添加一个 form.uploadDir=’tmp' 即可(写一个临时路径)

解决问题后,就可以很开心的继续我的Node学习了,感觉路还很长啊   PS:附上两个有关Node文件上传的帖子,个人觉得挺不错的,来源都是cnode   nodejs-post文件上传原理详解   node-formidable详解   from:https://www.cnblogs.com/glczero/archive/2014/08/23/3932024.html

Nodejs接收图片base64格式保存为文件

base64的形式为“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0。。。。”; 当接收到上边的内容后,需要将data:image/png;base64,这段内容过滤掉,过滤成:“iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0。。。”;然后进行保存。

用node.js进行微信公众平台的开发

基本原理 用nodejs怎样来实现对微信公众平台的开发呢? 别的就不多说了,先来简单介绍微信公众平台的基本原理。 微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器,然后将请求转发给自定义服务(这里就是我们的具体实现)。服务处理完毕,然后转发给微信服务器,微信服务器再将具体响应回复到终端;通信协议为:HTTP;数据格式为:XML。   具体的流程如下图所示: 其实,我们需要做的事情,就是对HTTP请求,做出响应。具体的请求内容,我们按照特定的XML格式去解析,处理完毕后,也要按照特定的XML格式返回。 平台注册 要想完成对微信公众平台的开发,我们需要注册一个微信公众平台帐号。注册步骤如下:   打开微信公共平台的官网,https://mp.weixin.qq.com/,点击“立即注册”。 然后根据提示,填写基本信息,邮箱激活,选择类型,信息登记,公众号信息,完成注册。 在注册完成以后,我们要对公众号进行一些基本的设置。登录公众号,找到【公众号设置】,然后设置头像以及其它信息。 nodejs环境搭建 我们需要在公网上找一台服务器,以便可以启动我们的nodejs的环境,启动环境后通过设置访问地址,我们就可以接收微信服务器发送的消息了,并且我们也可以向微信服务器发送消息了。 在公网的服务器中安装完成nodejs以后,我们还需要安装一些nodejs所用到的模块,如:express,node-xml,jssha等模块。可以通过npm命令进行安装。 我们通过nodejs来实现向微信服务器消息的发送与接收,以及与微信服务器的签名认证。 在我们右面的编辑环境中已经为同学们安装了nodejs环境。我们在接下来内容中就为同学们来实现微信服务器的签名认证。 创建express框架 我们在前面的课程中已经安装了express模块,并且在我们右面的环境中已经创建了一个名为app.js的文件。现在我们就在这个文件中完成express框架。如下代码:

然后再添加一个名为test.html的文件。写入以下内容

我们还要添加一个名为index.js的文件,来实现我们的路由。点击编辑环境中的添加文件按钮,添加文件,然后我们写入以下代码,其中GET请求用来验证配置的URL合法性,POST请求用来处理微信消息。

这样我们需要的express框架就完成了,当然我们还可以添加public公共文件夹以及我们要用到的中间件。保存文件,点击【提交运行】,然后点击【访问测试】,去试试吧。记下访问测试的地址,我们将在下一节中会用到该地址。 微信服务器配置 我们登录微信公众平台,在开发者模式下面找到基本配置,然后修改服务器配置。如图所示: 首先URL要填写公网上我们安装nodejs接收与发送数据的路径。我们可以填写上节中【访问测试】的地址,然后加上对应的路由就可以了。

上面代码是我的访问测试的地址,然后加上前面课程中的路由,同学们要根据自己的访问测试地址与路由来填写。 Token要与我们自定义服务器端的token一致。填写完成以后,就可以点击提交了,在提交以前,我们启动app.js(点击【提交运行】)。这样根据我们的路由匹配就可以验证签名是否有效了。 当配置完成以后,一定要启用配置。 网址接入 公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。 signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 加密/校验流程: 将token、timestamp、nonce三个参数进行字典序排序; 将三个参数字符串拼接成一个字符串进行sha1加密; 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 参数排序 首先我们确认请求是来自微信服务器的get请求,那么就可以在index.js文件中进行添加代码了。然后在app.get('/interface',function(req,res){});的function中进行添加。 先来获取各个参数的值,如下代码:

我们在这里对token进行设置,让其与微信服务器中设置的token一致。 然后对其中的token、timestamp、nonce进行排序,如下代码:

这样我们就完成了排序。 参数加密 在上节中我们已经对参数进行了排序,然后我们在这一节中要将参数组成一个字符串,进行SH-1加密。在加密以前要用到jssha模块,在我们的文件中要引用该模块。

在上一节课中我们已经对参数排序完成,并存放在数组中,我们可以通过join方法来生成一个字符串,如下代码:

最后对该数据进行加密,如下代码:

好了这样就生成了我们需要的签名字符串scyptoString。 签名对比 我们已经得到了我们想要的签名字符串scyptoString,然后我们就可以与来自微信服务器的签名进行对比了,对比通过,则我们就可以接收与发送消息了。

本参考了如下网站,更多内容也请访问: http://www.hubwiz.com/course/569dc7fdacf9a45a69b051cd/ from:http://my.oschina.net/u/2275217/blog/630770

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 Node.js. 角色投票系统 – Node.js, React, MongoDB and Socket.io 这个教程是为有一定基础的nodejs开发人员量身定做的,如果你是一个nodejs的初学者,那么这个教程并不适合阅读。这是一篇由Sahat Yalkabov编写的经过精心组织的教程,目的是为多人在线游戏(Eve Online)开发一个角色投票应用,这是一个功能完整的项目。Eve Online是一个多人在线游戏,每个玩家都有一个3D形象来代表他们的角色。 这篇教程覆盖了一下这些内容:使用Node.js Express 框架创建REST API, 使用MongoDB进行数据的存储,使用Socket.IO实时跟踪在线的访问者,使用React(和Flux)进行服务器端的页面绘制,并且最终将这个引用部署到云端。通过这个教程,你不仅能建成一个对Eve Online进行角色头像投票的系统,而且还可以通过充满乐趣的方式学习到许多的知识。 你可以通过下面的链接访问这个教程 – 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一起前行吧。   from:http://www.oschina.net/translate/best-nodejs-tutorial-with-examples