首页 > 初学者学习node.js怎么提高效率。

初学者学习node.js怎么提高效率。

初级者学习node.js,刚开始也在看一些书,比如《了不起的node.js》还有朴灵大神的《深入浅出node.js》,然后还有一些其它的书比如《node.js开发指南》。但是看这些书有一个问题,就是经常看着看着就看不懂了,而且直接看理论好像也挺难理解的,然后看了也会忘,这个也是问题。总之,就感觉效率很低,然后我想问问各位大神都是怎么学习node.js的,然后我想通过去练习一些demo来提高代码量,或者说是通过练习demo来提高学习效率,我不知道这种方法对不对,但是我觉得只能这样了,然后我想问问各位大神:
1.各位大神都是怎么学习node.js的?
2.各位大神有没有比较适合初学者学习的demo,可以推荐给我吗?然后我试着去敲。
3.各位大神还有没有什么可以提高学习node.js效率的方法?


我也是学nodejs不久,你可以在github上找找好的项目看一看


不知道你要用nodejs做什么,以我为例,我用了express作为后端。写的比较多的也是express相关的。
我个人喜欢先看书,后实践。一般会把书上的代码敲一遍。我认为如果只知道皮毛就盲目操作,会导致基础不牢,写的东西也显得业余。
nodejs我是先看的《nodejs the right way》,看完以后对nodejs有了个基本认识。
然后是网页相关的《getting MEAN》,看完后了解了nodejs网页制作相关的内容,基本的点。
最近在看react相关的书籍。

我本人挑书的过程是:

书籍要合适自己的水平才行,比如深入浅出nodejs就比较深,他不是带你入门的,另外,能看英文版的不要看中文版。虽然刚开始不适应,不过时间长了,是有好处的。

书看的差不多了,就要实用起来,要不也不会理论联系实际。最好可以用到实际项目中去,如果实际工作环境用不到,可以找自己喜欢的事情去做一个项目,从中练手。

可以上上相关技术的官网,一般官网的东西都是字字玑珠。还是之前说的,能看英文资料的,多看点英文资料。

事情总是迂回上升的,有困难可以放一放,等一段时间再看,就可能更为理解点了。

手机码字,希望对你有用。


demo的问题,建议把自己想做的东西做成小项目,而不是去敲demo。你学习书籍的时候,书上都是有示例的,这个倒是可以从头到尾敲一遍。

另外,看github是看不过来的,收藏比较多的项目一般体积都比较大,你也看得云里雾里,如果是简单的,质量又不好。建议你以解决实际工作中遇到的问题为出发点,在工作中积累。另外,也可以自己做一些npm的模块发布在npmjs.org上,也算是学以致用。


这个是github上比较好的一个nodejs资料库
https://github.com/youyudehexie/node123
然后下面这个是我记的一些东西,可能有用,你看看..
https://github.com/chunmu/notepdd
我的github账户下有几个简单的nodejsdemo,可以看一下


1.首先,你的javascript要过关,要理解js异步编程的基本原理。如果这点达不到,先放下nodejs把js搞精一点。

2.在第1条的基础上,将所有书中的例子先全部码一遍,亲自试验一遍,看看哪些是和书中执行结果一样的,哪些不一样。不一样有两种情况:第一、作者笔误或书籍排版问题(遇到过很多这样的坑),第二,由于node版本更新很快,且并不都是向后兼容,一些老的写法已经被弃用。

3.做完所有练习,你可以自己做小项目了。比如:小的聊天室,小的个人主页,小的博客系统等等。

4.完成以上步骤,可以试着将nodejs和angular/jade等技术成套使用开发相对复杂点的项目,比如一个简陋版的facebook.

5.完成以上步骤,你基本上算学会了,下一步就是漫长的精修之路。


我个人坚持在工作中一切不以项目为导向的学习都是耍牛氓!
我个人坚持在工作中一切不以项目为导向的学习都是耍牛氓!
我个人坚持在工作中一切不以项目为导向的学习都是耍牛氓!

建议你在了解基本语法的情况下,以小项目为起点,以需求为导向边做边学。


@Youwei 的方法比较好,项目驱动,建议找个有趣好玩的,同时有技巧的。比如你想学习nodejs的同时还想了解java或者自然科学或者声乐,你可以综合起来,用nodejs写一个扫描五线谱生成音乐.... 脑洞多大都行,不一定要完全做出来,说不定做一半就要推翻,但这样收获蛮多的。看你个人的习惯了。喜欢就好!
nodejs 方面我建议:

DO IT NOW!

没有速成神功,没有银弹~


个人比较赞同在实践中提高和学习,只有有实际需求或者问题才会更加推动你去使用和查找资料来解决问题。如果你要提高nodejs的实践水平,当你碰到问题时考虑用nodejs去解决就产生需求了。

如果你已经有一定的js能力我想语言语法层面的上的就不用了学了,如果还没有掌握,那只能从掌握js开始了。javascript权威指南之类的书都是可以的。

《了不起的node.js》,《深入浅出node.js》这些书最早的时候我也看过,也是从这个开始了解的。node的版本更新比较快,估计写的早的书有些api或者模块已经落后很多了。实际使用的时候可以参考node官方网站的api来。不过书上写的模块系统,事件回调机制,常用的fs,http之类的库 大多理论还是可用的。我觉书看了,理论知识基本够你开始去实践了。

对于如何在实践中去学习,提高。得从自身工作中或者兴趣中去找需求点。
比如我今天正有同事要我帮把一批商品信息直接导入到数据库。 只给我提供了一个文件夹目录,还有一个excel文档,excel文档里有编号对应图片。 我需要对图片做处理,然后读取excel文件里的数据,然后还要连接数据库,网数据库里写入对应的数据。那这里就会涉及到文件操作,图片处理,excel数据处理,mysql数据读取等等。
然后可能回去尝试找对应的开源node模块,发现有walk可以帮助方便的遍历文件,image-size可以读取图片大小,node-xlsx可以方便的额读取excel文档,sequelize可以方便的链接mysql数据库。如果发现没有合适的模块引入,那只能考虑自己去写写了。nodejs的开源模块有很多,从利用这些模块来帮助自己解决问题,可以帮助你方便的使用nodejs做一些事情又不会感觉困难。逐渐的也提升了一些能力, 如果更关系很多模块的实现,也可以去尝试看它的代码也不会特别的难。

比如你对某些网站的东西很感兴趣,想把它抓取到本地保存一些资料,或者想把一些网站的信息聚合起来方面自己阅读。你会发现可以用request,cheerio这种开源模块很容易的实现一个简单的抓取工具。

我想类似这些场景每个人都会有些自己的需求,日常工作中多少都会碰到一些繁琐或者重复的事情需要做,那这些事情是不是可以尝试自己写一些脚本去帮你做呢。那就可以考虑去用nodejs试试, 自然而然你就是在提升自己的实践能力,从而有更深的领悟。


学习一门新技术栈的方式一般有两种:

  1. 自底向上: 从基础API到上层应用框架. 特点是费时,但基础比较牢靠.适合新手.

  2. 从上到下: 从一个应用框架开始,再到基础API. 特点是容易速成, 但知识点难成体系.适合有一定基础的人.

两种方式各有各的好处,看你的习惯.

但无论你选择哪种方式, 在学习上层应用框架时都会遇到一个问题:
NodeJs里的框架类库太多了,有种无从下手的感觉.

这时你需要选择一门合适的全栈框架,并加以运用实践.才能深入理解NodJs的技术栈.
我推荐你学习sails.js.
它的文档通俗易懂, 涵盖了Web开发的必要技术点.
mvc, websocket, security, orm...

并且github上能搜到不少基于sailsjs的工程, 你可以学习其他人如何使用它.

有了这个方向.相信你不会再迷茫.

【热门文章】
【热门文章】