很多前端开发觉得会js,就想着学一下nodejs,认为多投入一点精力可以获得更大的产出或者在项目中觉得后端不负责,总是给自己穿小鞋,于是想学一下nodejs。但是大家要认清楚,nodejs和javascript不是一回事、他们之间有很大的差异(Chrome和nodejs本质上都是js的运行环境),nodejs主要利用了v8引擎解析代码,其他很多地方和js就没有什么关联了(看下图)。而且nodejs属于后端语言,想要学nodejs要想学会一下内容:
- 数据库SQL:可以把MySQL作为入门的数据库
- NOSQL:可以把MongoDB作为入门的NOSQL
- 服务器:可以选择centos或者ubuntu
作为一个有十年开发经验的程序员,可以这么说,MySQL的学习成本比js还要高!那么前端是不是就此放弃学习node了呢?不一定!听我慢慢解释。
1、初级前端不要学node。互联网在中国发展了这么多年,行业分工是很细的,即使是小公司很多也是有分工的,对于初级前端开发来说,HTML css js这三个掌握好,再学个前端框架(vue和react选择一个,js基础好选react,基础差选vue)就可以找到工作。先工作几年,把自己的本质工作做好。然后,学学数据结构和算法,设计模式,这些在你找工作的时候最能涨工资;读读开源项目,若依,vben这些开源项目,提升一下自己的架构能力,冲击一下前端leader岗位!
2,中高级根据需要决定是否学node。中高级前端开发可能因为公司业务发展,希望前端可以做点后端的工作,或者前端想走技术管理岗位,那么在有一定编程经验的情况下,可以根据需求学一下nodejs,这个时候才是事半功倍,一方面你有了编程经验,另一方面,你周围有同事是写后端的,遇到疑惑的地方可以咨询一下。
所以,大家在学习的时候一定要有目的有计划的学习,不要人云亦云,有人说node,你就学下node,浪费了大量精力和时间,到头来发现根本没有用上,有钢用到刀刃上!认清自己目前最需要的技术栈,深耕一下,不要总想着全栈,全栈===全干,你多干,并不见得挣得多!!!不要被虚假的努力迷失了双眼,最后抱怨自己的工资对不起自己的付出!