天天看點

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

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

原知乎問題:

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

前言

前端工作兩年多。大部分前端原理、架構都能完全運用。工作中幾乎遇不到解決不了的問題(除了那些惡心無法實作的需求)現在經常被安排去面試新人(被安排去面試,主要是工作能力比較突出的原因,公司還有很多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各種腳本自動化指令、代碼生成技術了解下。

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

掃描下方二維碼

擷取web前端、學習資料視訊