莫名的對(duì)一件陌生的事物產(chǎn)生興趣,也許不是為了簡(jiǎn)單的生計(jì),為了你,我已經(jīng)準(zhǔn)備了HTML,CSS,JavaScript,bootstrap,jQuery,Nodejs,webpack,npm,linux,無(wú)論如何,我都要和你成為最好的伙伴VUE。
嗯,我已經(jīng)閱讀你的文檔很久了,尤總?,F(xiàn)在你已經(jīng)成功給IT教育增添了一門(mén)教科書(shū)。這些天只想送你兩個(gè)字,無(wú)恥。希望以后能送你兩個(gè)字,感謝。
前幾天被一朋友喊為前端小哥,忽然有些發(fā)愣,就像別人喊我外賣(mài)小哥一樣,請(qǐng)也不要稱(chēng)呼我們老師,師傅之類(lèi)的,還是親切的稱(chēng)呼一聲小哥哥吧。。也不要向我們身上貼上直男的標(biāo)簽,我們很單純的,好嘛。。如果你為了一個(gè)項(xiàng)目,做到一周不怎么說(shuō)話,天天熊貓眼,和女孩聊天內(nèi)容就在工作間隙,估計(jì)你也會(huì)成為直男,習(xí)慣成就你的態(tài)度,好嘛。。
都說(shuō)態(tài)度決定一切,但是你的態(tài)度需要從零做起,Vue。當(dāng)我在 2019年第一次接觸它時(shí),大多是因?yàn)楣ぷ餍枰?,想成為適應(yīng)工作的人,只能去學(xué)習(xí)你了。。下面就來(lái)介紹一下vue
Vue,React這樣的框架可以說(shuō)是現(xiàn)在前端的必備技能,一個(gè)剛?cè)腴T(mén)兩三個(gè)月的前端都是要會(huì)Vue的。
但是大家有沒(méi)有想過(guò)一個(gè)問(wèn)題?Vue,React這樣的框架已經(jīng)是基本功,我們憑什么敢說(shuō)比別人厲害呢?
能夠獨(dú)立用Vue寫(xiě)一個(gè)項(xiàng)目其實(shí)只是入了一個(gè)門(mén),在如今技術(shù)快速發(fā)展的背景下,要真的作為一個(gè)敢說(shuō)出熟練Vue的人,先看看下面這些是不是過(guò)關(guān)了?
01.
基本功
我見(jiàn)過(guò)很多前端用Vue,React,就放棄JavaScript的修煉。
作為基本功,無(wú)論工具如何變遷,了解JavaScript底層,理解JavaScript的各種特性,無(wú)論你用什么工具都是手到擒來(lái)。底子不扎實(shí),日常出現(xiàn)一個(gè)bug都要花很多時(shí)間去定位問(wèn)題。
如果你去觀察那些前端負(fù)責(zé)人,前端架構(gòu)師,除了技術(shù)層面,他們?cè)谠O(shè)計(jì)模式,思維以及對(duì)軟件工程的理解都是很優(yōu)秀的。而這些的前提還是基礎(chǔ)先扎實(shí),再去打上層建筑。
我們需要學(xué)習(xí)哪些:
1. JavaScript的運(yùn)行機(jī)制,作用域,原型鏈,變量特點(diǎn)等底層原理。
2. 設(shè)計(jì)模式,架構(gòu)思維,編程思想,軟件工程的常見(jiàn)問(wèn)題。
02.
最佳實(shí)踐
我們都會(huì)寫(xiě)路由。
但是你知道路由如何寫(xiě)才能保證多路由模塊解耦,保證更方便增加新的路由模塊嗎?
我們都會(huì)對(duì)Vue項(xiàng)目最后打包上線。
但是你知道如何編寫(xiě)配置文件能讓打包速度最優(yōu)化嗎?
我們都會(huì)寫(xiě)組件。
但是你知道怎么讓組件能夠成為高復(fù)用性的組件庫(kù)型組件嗎?
諸如此類(lèi)的問(wèn)題,是實(shí)踐中區(qū)分前端水平高低的最重要因素,也是很多前端程序員遲遲等不到大廠offer,突破不到高級(jí)前端的重要因素。
對(duì)很多人來(lái)說(shuō)很為難的一點(diǎn)是,中小公司工作的程序員,寫(xiě)著平時(shí)的業(yè)務(wù)代碼,很少有機(jī)會(huì)接觸到大廠的優(yōu)秀實(shí)踐。如果大家以后有機(jī)會(huì)學(xué)習(xí)到此類(lèi)的東西,無(wú)論如何一定不要錯(cuò)過(guò)。
這里推薦一些自己的最佳實(shí)踐:
1. 二次封裝axios,方便自己的項(xiàng)目請(qǐng)求與數(shù)據(jù)操作
2. 封裝公用工具庫(kù),對(duì)于項(xiàng)目組常用的如cookie,session,字符驗(yàn)證等功能先進(jìn)行封裝。
3. 對(duì)經(jīng)常不變的庫(kù)進(jìn)行 Dll 打包,加快打包速度
03.
源碼
如果最近在找工作,或多或少都感受到了,面試時(shí)已經(jīng)會(huì)開(kāi)始問(wèn)Vue底層源碼的問(wèn)題。既然人人都會(huì)Vue,那么面試官挑選人才,除了考你的編程能力,對(duì)于最佳實(shí)踐的理解,就是問(wèn)你源碼了。拋開(kāi)別的不說(shuō),就面試來(lái)說(shuō)源碼都是十分重要了。
除此之外,真正理解源碼,對(duì)于所用工具的理解會(huì)上升一個(gè)層次。你會(huì)發(fā)現(xiàn)自己再寫(xiě)起Vue來(lái),bug會(huì)少很多,修復(fù)起bug來(lái)也會(huì)快速很多。
但是于此同時(shí)很多人也面臨一個(gè)問(wèn)題,就是完全看不懂源碼,跟別說(shuō)理解通透了。
這里說(shuō)幾個(gè)Vue的底層原理:
1. 數(shù)據(jù)雙向綁定,Vue3之前通過(guò)get和set完成,而Vue3后通過(guò)proxy來(lái)完成。
2. Vue中有一個(gè)虛擬dom,其實(shí)虛擬dom就是一個(gè)內(nèi)部的json字符串。