Js,作为一门完备的语言。语法自由,变化多端,方便快捷。相信每一个前端开发者都会为之深深着迷。

Orz 然而js的历史地位却一直不被承认。一直以来这门图灵完备的计算机语言大多数情况下所担当的工作不过是做做特效、扭一扭、弹个框框、看一下邮箱电话格式是否正确……

(╯‵□′)╯︵┻━┻尼玛啊夭寿啊让不让人过日子了!!!!老娘可是正正经经的一门语言啊!!!

——ZZZero《Javascript成长史》

之后由于apple和google俩后爹的照料,javascript终于迎来了人参中第一个春天。

依稀记得那时一个阳光明媚的日子,我认了两干爹。G爹是土豪,叫来了一帮世界顶级的工程师给我的破三轮量身打造一个牛X闪闪的V8引擎。A爹是大佬,带着一群小弟把一直欺负我的flash狠狠抽了一顿。从此我每天坐着v8引擎的三轮车叱咤江湖,成了Browser街的一霸。

——ZZZero《Javascript自传——我的干爹你无法复制》

ajax的出现,html5的崛起赋予了这门语言超乎寻常的魔力。简单快速高兼容,js如同一阵风卷起了web领域的新一轮变革。其中就包括javascript在服务器中的应用——node.js


专职做前端的大概有两种。一种是大学正规军。接受过系统的教育,熟悉各类语言,全方位系统的了解过计算机运行。只是怀着对前端的喜爱才选择了这门职位。这类人学习node应该算是轻车熟路,不用过于担心。

但是也有那么一部分前端,例如我。一路瞎写出家,从0开始直接接触html和css,进而接触到javascript这门语言。拿着这么点微薄的知识讨到了点饭吃。对计算机、服务器运行的全貌并不了解。那么网上很大一部分node.js可能就不太适用于我们了。

论大多数node的教程,其侧重点似乎更在js这门语言方面。这对于原本就用java、python之类的语言进行后台开发的人来说轻车熟路。但是对于从0直接接触js的小白来说。js这门语言方面应该不成问题。真正的难点,应该是在于服务器的运行机制、原理、运行方式上。因此我这边大概会以一个服务器小白的视角,对node.js的学习做一系列的记录和总结。希望能给予更多还在小白阶段希望进阶的朋友一点帮助。

该系列文章将与我自己的学习历程同步。其中所有内容均为建议,而非真理。可能会出现很多粗浅的错误,同时思维也会比较混乱。该文不是教程,仅仅作为想学习node的一些预备工作,供对node感到迷茫的同学对node有个大概了解。看看一个小白学习node要走过多少的坑。仅此而已。


那么到了什么阶段可以学习node了呢?我个人觉得应该是对于自己对js的语法轻车熟路,对dom,对浏览器已经有了自己的理解的时候。这个理解不一定要如同专业的书籍一样精确。只要有个大概的了解即可。也就是说编写工作所需的js轻车熟路,对常用开源框架的原理有个大概的理解。即可。

node的难度如何?至少入门阶段个人感觉不难。作为一个专业的前端,对js应该也是相当熟悉了。node本身便是js的一个解释器,只不过不是运行在浏览器,而是运行在了服务器里。因此对于前端学习node的地方最难的不是js这门语言,而是对服务器运行的机制原理方法没有了解。对于学习node的第一个建议就是,别管那么多,先找几个偏实操的教程。搭好node环境,安装好必要的包管理器,放码过来。helloworld也好简单地爬虫也好。写上几个东西,对服务器初步的理解自然就出来了。然后找找教程,看看什么是路由,了解基本的http协议,看看服务器代码的部署。往node里专研的准备就完全ok了。

诸君加油哟 (≧▽≦)/~