在 2013年1月5日下午2:50,grepee <grepee@126.com> 写道:
您好!,tuer.me
我是一个node.js初学者,想请教你几个问题,您是怎么学习node.js的, >
1.有什么好的方法,我买了一本书在学习 2.我自己在win7下搭建了一套node+express+jade的开发环境,为什么我把你的代码下载下来以后,你的模块里面找不到jade和express等模块,是不是的自己安装一下,
================这是刚收到的一封邮件==================
觉得问题比较通用和普遍,我把回复贴出来,也许可能某些友邻和朋友也会遇到:
回复:
我也是初学者,刚看到邮件,才回复你,希望还不算太晚。
作为同样的初学者,我一开始的学习是在09年低,当时node版本还很低,还不支持win,我是在ubuntu下开发的第一个程序,是一个文件合并然后输出到web端的小程序,代码在这里:https://github.com/xiaojue/node-combo,作用在readme里写了。
这个算是个入门作品,因为有其他语言的基础,主要是js语言基础,所以写起来语法没有阻碍,主要就是对api不熟悉,先看了2个晚上的api文档,大概了解了nodejs可以干什么,干什么的时候需要去哪个模块找对应的api实现。
然后我后来又在工作中开发了几套nodejs的打包上线脚本,大概也就是文件合并,拆分,调用外部命令压缩代码,移动删除等简单功能。
后来也就是去年4月份我开始写的tuer这个网站。一开始其实我连本地环境都没有,是在一台vps上直接开发的。直到8月份左右,上线了最开始的一个版本,有了几个用户之后才在本地又搭建的环境,毕竟要保持线上稳定么。
这几个月经历了这么几个学习阶段,那时候express还没有到3.0,当时的版本是2.x所以我看的是官网黑色界面的那个2.x的文档:http://expressjs.com/2x/
现在的tuer也还是2.x的express。所以可能你的报错也是因为版本问题?这个还是要看具体抛出的错误来分析。
在开发中,我不光学习了express这个框架,还学习配置nignx,学习了如何更好的使用linux系统来进行工作,比如shell,还有一些监控,mongodb的东西。当然少不了github强大的搜索和方便的npm包管理器,一般我不会自己实现一个复杂的功能,因为如果你写过php,或者python ruby,java,都知道一些方法和基础类,都有人已经实现了,比如网站的rss功能,mongodb的驱动,图形处理等。。所以只要会用搜索,会装模块,看的懂readme基本上就可以了。当然如果你用的模块自身有bug,可以看是否能够给予修改pull request,如果改不了去给作者联系解决就行。
再然后,其实nodejs遇到的问题不多,主要是我之前是个前端开发工程师,对后台很不了解,通过这一年的实践吧,才对后端开发有了一定体会。如果你是个前端一定很了解我在说什么,如果你是个后端,那应该更加上手容易了。
最后,我没买过书,那本nodejs web开发的书出版之前,tuer其实都已经写好上线了。我基本是依靠尝试自己开发出来的,主要是搜索和看官方文档。
嗯,如果你是npm install tuer安装的,可能是之前某个稳定版本,但是不一定bug都修复ok。直接git clone吧,然后从app.js看。我的express是2.0版本,一定记得,目录结构也是最开始的那个老结构,es3.0我也不熟,一直没去仔细看。
嗯,理论上说,有人在win下成功跑起来过tuer,但是确实很费劲,主要是node canvas的安装那里比较复杂,如果你本机是linux系统,那么你可以开一个外网端口让我帮你远程安装,之前有几个群里的人就是这样,我给他们本机安装上的。。。
还是推荐linux下开发,因为tuer就是在linux下完成的所有开发,win下会遇到什么问题,都很未知,毕竟最后上线还是在linux服务器上。
如果单纯缺少模块,npm install -d命令是完整安装依赖的命令。可以试试。
谢谢你的关注啊,有问题可以去兔耳日记直接找我,邮件不经常查看,也有可能会漏看。。