在知乎上看到一个问题,问题如下:
大二,学前端大半年了,html,css,js,jq,less,bootstrap这些不敢说精通,但也熟练掌握,项目也做了不少。最近学react的时候开始感觉力不从心了,之后再去了解webpack,npm,node等简直一脸懵逼,各种配置命令行根本看不懂,仿佛到了另一个世界。到了这个阶段应该怎么继续学下去呢,是我基础知识不足的问题吗?
针对这个问题,我讲讲我的理解吧,暴力分割线预警
这种先易后难的学习现象其实不仅仅是在前端领域,在任何一个领域都是一样的。入门简单,随着学习的不断深入,需要学习的东西越来越多,越来越复杂,这是十分正常的。
你回想下你刚开始学数学的时候,是不是觉得很简单呢,1+1,1-1。之后慢慢开始学乘法,学方程式,学积分,是否感觉越来越难,步履维艰。
回到题主问的问题。web前端其实在编程界是最容易入门的分支,其中html,css,js,jq,less,bootstrap这些你都可以理解成数学中最简单的 加减乘除法,所以当你稍微花点心思学习下html,css,js,你就发现你能开始写页面了,做简单的项目了。然后如果只是局限在做页面,不管做再多项目,你也只是一个页面仔而已,技术水平不会有所提升。这时你突然去接触react,webpack,npm这些高级的前端框架和工具的时候,就如同从 1+1跳跃到解微积分,当然会懵逼,觉得这还是前端嘛,我以前学的都是啥啊。
所以首先排除学习者自身的学习态度问题,我们假设大家都是努力学习的人,题主说的问题其实是在前端领域的一个学习顺序的问题。
一个简单的前端项目从开发到上线我认为是要经历以下几个步骤的:
1. 用html实现页面结构
2. css实现页面样式
3. js实现页面交互
4. 使用压缩混淆工具如 grunt或者gulp 处理css和js,减小css文件和js文件的体积,从这个步骤开始其实就是前端项目的构建了,也就是进入到了题主所说的另一个世界
5. 部署项目
如果你一直局限在前三个步骤,那么当然不会有什么进步。 从第4个步骤开始就是真正需要去花大量时间研究学习的了。首先拿构建工具grunt或者gulp举例,如果说你对js十分熟练的话,那么grunt或者gulp里面的每一行代码你是能看的懂得,你需要学习的是
1. 这些工具为什么会出现,他在整个前端开发和构建上线过程扮演者什么样的角色
2. 他能实现哪些东西,每一项功能的具体代码实现是怎么样的
3. 为什么要这么来实现
按着这么个研究学习顺序,你会发现这些东西都是通过很简单的无数的接口拼装而成的。研究完一个工具,接着按照整个项目的工程顺序,研究接下来需要哪些东西。这样的话学习webpack,react等都和上文说到grunt没有任何差别,自己也能循序渐进。
所以希望迷惘的人不要过于焦虑,认清学习路径,按部就班就行了。
网友评论