Node是什么?
node.js是一个基于Chrome V8 引擎的JavaScript运行环境。
作为一个异步、事件驱动型JavaScript运行时,node.js可用于构建高速、可扩展的网络应用。
简而言之,让JavaScript不仅能在浏览器端跑起来,还能在服务器端跑起来。
V8让Node在性能上得到了巨大的提升,因为它去掉了中间环节,执行的不是字节码,用的也不是解释器,而是直接编译成了本地机器码。
用Node能干啥?
1. Web开发:Express+Mysql+Gulp+Webpack+Babel+React
2. REST服务:Restify
3. Web聊天室(IM):Express+Socket.io
4. Web爬虫:Cherrio/Request
5. Web博客:Hexo
6. Web论坛: NodeBB/Nodeclub
Node的优缺点?
单线程,异步I/O
优点:高并发(最重要的),适合I/O密集型应用;
缺点: 不适合计算密集型、对内存控制要求较高的应用,以及不需要异步处理的应用,比如系统管理,自行化脚本等,还是Python更顺手,Nodejs的异步调用可能会给编程带来一些麻烦。
常用的Node模块有哪些?
Web开发:express,ejs,hexo,socket.io,restify,cleaver,stylus,browserify,cheerio
工具包:underscore,moment,connet,later,log4js,passport,passport(oAuth),domain,require,reap,
部署:forever,pm2
算法:ape-algorithm(快速排序),ape-algorithm(桶排序)
参考资料:
1. http://blog.fens.me/series-nodejs/
2. 《Node.js实战》
3. 《深入浅出 Node》