理解 漸進(jìn)式 JavaScript 框架
Vue 是一款用于構(gòu)建用戶界面的漸進(jìn)式 JavaScript 框架。
Vue 中出現(xiàn)了很多新穎的名字,這些名詞通常讓初次使用 Vue 的程序員望而卻步,比如:漸進(jìn)式、插槽、計(jì)算屬性等等。個(gè)人建議在學(xué)習(xí) Vue 的時(shí)候,這些名詞的理解結(jié)合語(yǔ)法、用法、場(chǎng)景來(lái)記憶即可,不用死記硬背,也不要被名詞唬住。
那怎么理解漸進(jìn)式框架呢 ?
Vue 是一款漸進(jìn)式 JavaScript 框架
其實(shí)這里的漸進(jìn)式主要是為了表示 Vue 使用起來(lái)“靈活”
Vue 已經(jīng)具備非常完善的生態(tài)系統(tǒng),社區(qū)也產(chǎn)出了成千上萬(wàn)基于 Vue 的輪子、庫(kù)方便進(jìn)行業(yè)務(wù)的開(kāi)發(fā)。但是 Web 應(yīng)用的構(gòu)建是多樣化的。例如:項(xiàng)目規(guī)模有大有小、行業(yè)類型不一致、業(yè)務(wù)需求也不盡相同等等??紤]到以上這些原因,Vue 的設(shè)計(jì)非常注重靈活性和“可以被逐步集成”這個(gè)特點(diǎn),可以根據(jù)不同的需求場(chǎng)景用不同的方式使用 Vue 構(gòu)建應(yīng)用。
1??從 web 開(kāi)發(fā)的角度出發(fā)理解:
如果你已經(jīng)有一個(gè)現(xiàn)成的應(yīng)用,但是是非單頁(yè)應(yīng)用,可以將 Vue 作為該應(yīng)用的一部分嵌入其中,帶來(lái)更加豐富的交互體驗(yàn)。
如果希望將更多業(yè)務(wù)邏輯放到前端來(lái)實(shí)現(xiàn),那么 Vue 核心庫(kù)(Vue Rotuer、Vuex)及其生態(tài)系統(tǒng)也可以滿足各種需求。和其他前端框架一樣,Vue 可以將一個(gè)網(wǎng)頁(yè)分割成可復(fù)用的組件,每個(gè)組件都有自己的 HTML、CSS 和 JavaScript 來(lái)渲染網(wǎng)頁(yè)中一個(gè)對(duì)應(yīng)的結(jié)構(gòu)。
如果要構(gòu)建一個(gè)大型應(yīng)用,需要考慮開(kāi)發(fā)效率、預(yù)編譯工具、發(fā)布、測(cè)試、代碼規(guī)范、可維護(hù)性等,這就需要一套工具,配置一些開(kāi)發(fā)環(huán)境等。Vue 提供了一個(gè) Vue CLI 以及 Vite 命令行工具,它讓快速初始化一個(gè)真實(shí)的項(xiàng)目工程變得非常簡(jiǎn)單。
2??從其他需求場(chǎng)景的角度出發(fā)理解:
無(wú)需構(gòu)建步驟,漸進(jìn)式增強(qiáng)靜態(tài)的 HTML
在任何頁(yè)面中作為 Web Components 嵌入
單頁(yè)應(yīng)用 (SPA)
全棧 / 服務(wù)端渲染 (SSR)
Jamstack / 靜態(tài)站點(diǎn)生成 (SSG)
開(kāi)發(fā)桌面端、移動(dòng)端、WebGL,甚至是命令行終端中的界面