最近知乎收到一些问题,问前端学起来吃力,连续更新几回回答的比较全了。如今整理下分享给51![]的小伙伴们。前端
前端工做两年多。大部分前端原理、框架都能彻底运用。工做中几乎遇不到解决不了的问题(除了那些恶心没法实现的需求)如今常常被安排去面试新人(被安排去面试,主要是工做能力比较突出的缘由,公司还有不少3年以上的员工)。vue
下面说说个人学习方法或许对你有用!node
1、打好基础不用说
HTML、CSS、JavaScript 三大件,彻底掌握。不懂得就直接查 MDN。
HTML重点掌握语义化。区分块级和内联标签。其余查文档就行了。还有就是定义 head 里面一些meta 了解下。
CSS。重点看盒子模型,定位,层级,过渡,动画和 transform。知道原理和规则。大部分工做都是照着设计稿化。掌握上面几个 99% 还原也不难。接下来重点学习几种常见的布局。完了以后去搞flex。最后搞下sass、less。基本就差很少了。
JavaScript。重点来了,红宝书看一遍掌握基础,进阶去看《你不知道的 JavaScript》。就这两套足够了,别搞那么多。
每一个知识点搞懂。ES6 基本没啥问题。下面几个问题优先搞懂,优先级以下:
this 用法,相关原理
原型/原型链
闭包
面向对象相关
同步异步/回调/promise/async、await
模块化 CommonJS, AMD
先搞这懂这些比较难的概念,对你JS理解更加深刻。接下来在开始看框架方面:
2、框架方面
前期要会用,后期要懂原理。
新人先搞 Vue。Vue 算是上手容易的框架。照着官方文档来问题不大。原理方面要提升本身认识。学习怎么看源码。github常去逛逛。
学习框架以前,我其实特别建议,新人先去了解 Babel 和 webpack 不只仅是使用。一些原理方面的东西工做中也会用到。babel 里面会有教你如何编译代码。webpack 教你如和打包文件。本身手写编译器和打包工具也不是特别难。反正对以后看vue、react源码帮助挺大。
搞完 Vue 全家桶,去了解下 React,React hooks 学习下新的理念。再回过头来看Vue。你会发现他们是如此的类似去又不一样。 多去实践总结,对总体框架理解会愈来愈深入。
3、如何看源码
新人刚开始看源码,会陷入两个困境中。一是无从下手。二是看了以后感受没啥收获。
这个也很正常。通常咱们熟知的框架都有个几千甚至上万个PR。太大细节会干扰你。掌握整个节奏和流程。学习原理也比较吃力。就连找个入口都像大海捞针同样。
建议从下面几个方面入手:
挑简单的上手。别一开始就搞 vue、react、webpack。太难,会直接劝退新人。
不要为了面试而去读。反而效果很差,面试稍微问深刻一点就答不出来了。平时有兴趣多琢磨琢磨。按照难易程度,函数库 < 组件库 < 框架 < 工程化 分别典型表明 lodash < vant < vue < webpack
手撸简易模型。像vue, webpack, babel 都有简易项目给你撸。有的创始人(尤哥)还直播手撸。国外的更多,youtube 一搜一大堆。就算不看源码,照着写出了简易 demo 对原理和理解提高都是很大的。
调试开源项目。先把项目拉下来。在vscode里面跑下,核心函数多打几个断点。看看里面变量是怎么diff的。 对理解更深入了。
看了源码是别人的,学到了是本身的。学习时候边记笔记,边思考原理,总结经验。下面来谈谈前端工程化怎么弄。
4、前端工程化
如今最流行的打包工具 webpack 用起来。固然直接用 vue-cli二、vue-cli三、create-react 都是能够的。可是 webpack 相关仍是得掌握。
首先重点搞下babel、webpack。
学习下编译和打包的原理。
本身配置下 webpack。尝试本身去写下下 webpack 的 loader 和 plugin。
学习这些以前要懂一点 node.js, node.js 不须要所有学习。通常就平常用到读写文件fs接口,path 路径接口。这些 api 都不难写几个 demo 就懂了。基本上webpack 里面配置文件也没用到多少 node 的东西。最后本身学会配置 webpack 的配置文件。
若是想深想去优化打包体积和速度,就须要去了解不少webpack插件。webpack 里面最核心的就是插件了。
固然前端工程化不只仅是这些,CI/CD可持续集成, Umi 了解下。sh各类脚本自动化命令、代码生成技术了解下。react