一、什么是node.js
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
二、node.js优缺点
优点:1、采用事件驱动、异步编程,为网络服务而设计。
2、Node.js非阻塞模式的IO处理给Node.js带来在相对低系统资源耗用下的高性能与出众的负载能力,非常适合用作依赖其它IO资源的中间层服务。
3、Node.js轻量高效。
缺点:
1、可靠性低。
2、单进程,单线程,只支持单核CPU,不能充分的利用多核CPU服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。
三、作为前端为什么要学习node.js
1、JavaScript语言的普及度很高,一般公司都不乏Web前端工程师,而此类工程师的学习门槛也非常低。
2、在一个nodejs做辅助开发(Angular、grunt、seajs等等很多工具)的环境中,了解node工作原理,会让自己有进一步提高。
3、使用 Node 可以让专业的前端(除了前端专业性的基本功,至少还要了解算法和数据结构等程序设计基础的),能够快速转型成全栈开发。
综上所述,作为一个有上进心的前端,不管是说为了前端自动化,还是前端开发人员为主的全栈式开发,又或者是扩展前端人员知识广度,都是应该有一定 Node.js基础的。
(以上纯属个人观点,有其他看法可以留言一起讨论)