前端學起來特別吃力,新人入前端怎麼學?

qq_41286224發表於2020-10-31

在這裡插入圖片描述
最近知乎收到一些問題,問前端學起來吃力,連續更新幾次回答的比較全了。現在整理下分享給部落格的小夥伴們。

前端工作兩年多。大部分前端原理、框架都能完全運用。工作中幾乎遇不到解決不了的問題(除了那些噁心無法實現的需求)現在經常被安排去面試新人(被安排去面試,主要是工作能力比較突出的原因,公司還有很多3年以上的員工)。

下面說說我的學習方法或許對你有用!

一、打好基礎不用說
HTML、CSS、JavaScript 三大件,完全掌握。不懂得就直接查 MDN。
HTML重點掌握語義化。區分塊級和內聯標籤。其他查文件就好了。還有就是定義 head 裡面一些meta 瞭解下。
CSS。重點看盒子模型,定位,層級,過渡,動畫和 transform。知道原理和規則。大部分工作都是照著設計稿化。掌握上面幾個 99% 還原也不難。接下來重點學習幾種常見的佈局。完了之後去搞flex。最後搞下sass、less。基本就差不多了。
JavaScript。重點來了,紅寶書看一遍掌握基礎,進階去看《你不知道的 JavaScript》。就這兩套足夠了,別搞那麼多。
每個知識點搞懂。ES6 基本沒啥問題。下面幾個問題優先搞懂,優先順序如下:
this 用法,相關原理
原型/原型鏈
閉包
物件導向相關
同步非同步/回撥/promise/async、await
模組化 CommonJS, AMD
先搞這懂這些比較難的概念,對你JS理解更加深入。接下來在開始看框架方面:
二、框架方面
前期要會用,後期要懂原理。
新人先搞 Vue。Vue 算是上手容易的框架。照著官方文件來問題不大。原理方面要提高自己認識。學習怎麼看原始碼。github常去逛逛。
學習框架之前,我其實特別建議,新人先去了解 Babel 和 webpack 不僅僅是使用。一些原理方面的東西工作中也會用到。babel 裡面會有教你如何編譯程式碼。webpack 教你如和打包檔案。自己手寫編譯器和打包工具也不是特別難。反正對之後看vue、react原始碼幫助挺大。
搞完 Vue 全家桶,去了解下 React,React hooks 學習下新的理念。再回過頭來看Vue。你會發現他們是如此的相似去又不同。 多去實踐總結,對整體框架理解會越來越深刻。
三、如何看原始碼
新人剛開始看原始碼,會陷入兩個困境中。一是無從下手。二是看了之後感覺沒啥收穫。
這個也很正常。一般我們熟知的框架都有個幾千甚至上萬個PR。太大細節會干擾你。掌握整個節奏和流程。學習原理也比較吃力。就連找個入口都像大海撈針一樣。
建議從下面幾個方面入手:
挑簡單的上手。別一開始就搞 vue、react、webpack。太難,會直接勸退新人。
不要為了面試而去讀。反而效果不好,面試稍微問深入一點就答不出來了。平時有興趣多琢磨琢磨。按照難易程度,函式庫 < 元件庫 < 框架 < 工程化 分別典型代表 lodash < vant < vue < webpack
手擼簡易模型。像vue, webpack, babel 都有簡易專案給你擼。有的創始人(尤哥)還直播手擼。國外的更多,youtube 一搜一大堆。就算不看原始碼,照著寫出了簡易 demo 對原理和理解提升都是很大的。
除錯開源專案。先把專案拉下來。在vscode裡面跑下,核心函式多打幾個斷點。看看裡面變數是怎麼diff的。 對理解更深刻了。
看了原始碼是別人的,學到了是自己的。學習時候邊記筆記,邊思考原理,總結經驗。下面來談談前端工程化怎麼弄。
四、前端工程化
現在最流行的打包工具 webpack 用起來。當然直接用 vue-cli2、vue-cli3、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各種指令碼自動化命令、程式碼生成技術瞭解下。

相關文章