绿林网

Node.js入门经典经典读后感有感

Node.js入门经典经典读后感有感

《Node.js入门经典》是一本由[英] George Ornbo著作,人民邮电出版社出版的平装图书,本书定价:59.00元,页数:338,特精心收集的读后感,希望对大家能有帮助。

《Node.js入门经典》读后感(一):目录翻译无法直视啊

Part II: Basic Websites with Node.js —> 第2部分使用node.js的基本网站

Part IV: Intermedlate Sites with Node.js —> 第4部分使用node.js的中间站点

至于正文,已经没兴趣翻了吧……

《Node.js入门经典》读后感(二):新手共勉

这个是我当时学习的经历,可以借鉴一下http://www.9958.pw/post/nodejs_lesson 希望大家可以少走一些弯路,我当时就是因为方法,正确才感觉这个东西挺好学的,所以说还是需要把力朝着对的方向,用上对的力才是王道

《Node.js入门经典》读后感(三):入门还不错的书

讲解比较细致,甚至稍显啰嗦,每部分讲解完,又把用过的代码重新罗列一遍,说好听的是方便照着step by step,说不好听就是凑字数。

有些内容有过时的地方,讲todos那个部分时用到了闪出消息,req.flash,照着敲了以后报错,上网查了下是express新版的已经不支持这个方法了,给还没看过的人提个醒~~

另外作者还是挺逗的,讲coffeescript的时候,在对比了论坛上正反两种观点以后,来了句“要健康发言”

《Node.js入门经典》读后感(四):我觉得很适合入门者,比《Node.js开发指南》要好

先在图书馆借的。但借期只有一礼拜,感觉此书很不错,于是买了。

之前读过《Node.js开发指南》,我了个天哪,代码版本太旧,调试那个微博网站的应用搞了我整整两天。。。程序员并不是天生爱折腾啊。

目前读完了前11章,建立了Tasks应用,感觉很好玩;初步了解了如何测试Node.js程序和应用。

Tasks例子使用Jade模板,而不是ejs,感觉jade更为强大,而且缩进语法也挺有意思的。本书讲的jade知识不多,做的时候应该顺便参考官方的语法说明: http://jade-lang.com/reference/

而后我按照作者说的,想把这个应用托管到Heroku上,失败了……日后再说吧,这个算是“高级开发层次”了吧~~(安慰自己)

这本书的例子比《Node.js开发指南》的丰富得多,涉及的知识点也更多。它的豆瓣评价目前并不高,但我认为那都是没有仔细读过这本书的人给的。对于入门者来说,这样的翻译实在不影响阅读,因为重要的是里面的例子,它们对于理解Node.js至关重要,而代码是不存在翻译问题的。

对于新手,如果在犹豫先读《Node.js开发指南》还是《Node.js入门经典》,那么我推荐后者~~因为起码做例子比较顺畅。

当然这本书也有很大的写作风格问题:每个例子之后总会有“TYR IT YOURSELF”模块,而里面的代码与该例子的几乎完全一样!——尼玛就是为了增加页数好多卖俩钱儿么,太坑爹了。。。

-------------- 补充: ---------------

12章与13章一起讲述如何建立群聊服务器。我基本做成了这个例子,但认为书中有一个严重错误,以及一个非常模糊的事情没有讲清楚。

严重错误:发生在181页,服务器端代码发出‘user message'事件,这一段应该放在'nickename'事件的回调函数内部,因为它用到了闭包里的一个变量:socket.nickname。

正确的代码应该如此:

io.sockets.on('connection', function(socket){

socket.on('nickname',function(data, callback){

if(nicknames.indexOf(data) != -1){

callback(false);

} else {

callback(true);

nicknames.push(data);

socket.nickname = data;

io.sockets.emit('nicknames', nicknames);

console.log('nicknames are:' + nicknames);

socket.on('user message', function(data){

io.sockets.emit('broadcast user message',{

nickname: socket.nickname, // 通过闭包来记住发送消息的是哪个用户

content: data

});

});

}

});

socket.on('disconnection', function(){

if (!socket.nickname){

return;

}else{

var index = nicknames.indexOf(socket.nickname);

if ( index > -1) {

nicknames.splice(index,1);

}

io.sockets.emit('nicknames', nicknames);

}

});

});

一个没有讲清楚的问题是:客户端什么情况下回触发'disconnet'事件?

本文由作者上传并发布(或网友转载),绿林网仅提供信息发布平台。文章仅代表作者个人观点,未经作者许可,不可转载。
点击查看全文
相关推荐
热门推荐