Vue開發(fā)指南之重點知識梳理
概述
如果您是Vue開發(fā)的新手,您可能已經(jīng)聽過很多關于它的專業(yè)術(shù)語了,例如:單頁面應用程序、異步組件、服務器端呈現(xiàn)等。
另外您可能還經(jīng)常聽到和Vue一起提到的工具和庫,如Vuex、Webpack、Vue CLI和Nuxt。
也許您在面對這些未知的術(shù)語和工具時會感到無助和絕望,沒關系,您并不孤單,因為這是所有新手在初次接觸Vue時都會有的感受。
但如果您試圖要一次掌握所有這些內(nèi)容,那么這些龐大的體系很可能會壓垮你。為此,我在這里將為大家展示一個“知識圖表”,它包含了所有在專業(yè)Vue開發(fā)過程中的關鍵部分。您可以參考這個圖為您在2019學習Vue的過程中指引方向。

0. JavaScript和Web開發(fā)基礎
如果我讓你用英文去閱讀純英文書籍,那么你應該先要學習英文,對嗎?
同樣,Vue是一個用于構(gòu)建Web用戶界面的JavaScript框架。在開始使用Vue之前,您至少必須先要掌握JavaScript和Web開發(fā)的基礎知識。
1. Vue的基礎概念
如果您是一個Vue的萌新開發(fā),您應該專注于Vue.js 生態(tài)系統(tǒng)的核心,其中包括Vue核心庫,Vue Router和Vuex。因為這些工具將會在絕大部分的Vue應用程序中應用。好的,那我們開始介紹關于Vue的一些基礎概念。
Vue核心功能
在基礎情況下,Vue將網(wǎng)頁和JavaScript保持同步,實現(xiàn)這一目標的特性是響應式數(shù)據(jù)及指令和插值等模板功能,這些都是第一天要學習的內(nèi)容。
在構(gòu)建你的第一個Vue應用之前,你還必須要去了解如何在網(wǎng)頁中去安裝/使用Vue,以及了解Vue的引用實例的生命周期。
組件
Vue的組件是可重復使用,并相互獨立的UI元素。您需要了解,如何聲明組件,以及如何通過屬性和事件使組件間通信。
并且學會組合組件也同樣重要,因為這關乎著你是否能夠使用Vue構(gòu)建出一個健壯、可擴展應用程序。
單頁面應用程序
單頁面應用程序(SPA)架構(gòu)決定了您創(chuàng)建的Web頁面一樣能夠展示和多頁面網(wǎng)站一樣豐富的內(nèi)容,且不會當用戶在點擊鏈接后重新加載整個頁面等這樣低效的行為。
一旦您將您的“頁面”創(chuàng)建成了一個Vue組件,您可以為每一個組件使用Vue Router,將每個請求映射到一個唯一的訪問路徑上,Vue Router是一個由Vue團隊維護的用于構(gòu)建單頁面應用程序(SPA)的工具。
狀態(tài)管理
隨著項目規(guī)模越來越龐大, SPA的許多頁面上將會有越來越多的組件,管理全局狀態(tài)也將變得越發(fā)棘手,組件因為大量的屬性和事件監(jiān)聽器而變得臃腫。
一種稱為“Flux”的特殊模式可將您的數(shù)據(jù)保存在穩(wěn)定的中央存儲中。Vuex庫也由Vue團隊維護,可祝您在Vue.js 應用程序中實現(xiàn)Flux。
2. 生產(chǎn)環(huán)境中的Vue
您從第一部分獲得的所有知識都可用于構(gòu)建高性能和高效的Vue應用程序,雖然是允許在你的本地服務器上,那么,如何確保他們能夠在實際生產(chǎn)環(huán)境下運行呢?
如果您要把基于Vue.js 的產(chǎn)品推向用戶,您還需要了解更多內(nèi)容,以下將為您介紹。
項目腳手架
如果您需要經(jīng)常構(gòu)建Vue應用程序,您會發(fā)現(xiàn)幾乎每個項目都會提供配置、設置和開發(fā)人員工具。
Vue團隊維護了一個名為Vue CLI的工具,它可以讓您在幾分鐘內(nèi)構(gòu)建一個強大的Vue開發(fā)環(huán)境。
全棧 / 認證應用程序
Vue應用通常是數(shù)據(jù)驅(qū)動型的用戶界面,數(shù)據(jù)通常是由Node、Laravel、Rails、Django
或其他服務器框架編寫的安全API作為來源。
也許數(shù)據(jù)是由傳統(tǒng)的REST API或GraphQL提供,再或者是Web Socket提供的實時數(shù)據(jù)。
另外你還應該熟悉通常用于將Vue集成到全堆棧配置中的設計模式,以及在Vue應用程序中保護用戶數(shù)據(jù)安全的各種注意事項。
如果您正在評估什么后端產(chǎn)品是您開發(fā)Vue應用時的最好選擇,那么這篇文章中應該有您的答案。
測試
如果您想保證您的Vue應用程序在生產(chǎn)環(huán)境中表現(xiàn)的既可維護又穩(wěn)定,您需要對您的應用提供完成的測試。
在Vue應用程序中,單元測試可確保您的組件始終為給定的輸入(屬性或用戶輸入的內(nèi)容)提供相同的屬除(渲染好的HTML或事件)。
Vue團隊維護著一個名為Vue Test Utils的工具,它允許您能對組件單獨的創(chuàng)建和執(zhí)行測試過程。
優(yōu)化
當您將應用程序部署到遠程服務器后,這個應用的訪問速度和執(zhí)行效率很可能不會像在開發(fā)階段表現(xiàn)的那樣迅速,很可能當用戶訪問時速度會很慢。
為了提升效率,我們需要優(yōu)化您的Vue應用,優(yōu)化的過程我們可以采用各種技術(shù),包括服務端渲染。在服務端渲染中,Vue程序?qū)⒃诜斩藞?zhí)行,在用戶訪問時,將渲染完成的HTML呈現(xiàn)給用戶,從而達到提升訪問速度的目的。
當然,還包括其他優(yōu)化技術(shù),例如:異步組件和渲染功能。
3. 關鍵工具
到目前為止,我們所看到的一切都來自Vue.js核心,或來自生態(tài)系統(tǒng)中的工具。但Vue不是孤立存在的,它只是前端技術(shù)棧中其中的一塊。
高級開發(fā)中不應該僅僅熟悉Vue,還要熟悉一些其他關鍵工具,因為它可能將成為未來Vue應用其中的一部分。
現(xiàn)代JavaScript和Babel
ES5可以有效構(gòu)建Vue應用程序,ES5幾乎是所有瀏覽器都支持的JavaScript標準。
為了增強Vue的開發(fā)體驗,并使用最新的瀏覽器功能,您可以使用最新的JavaScript
標準ES2015的特性或ES2016及更高版本的建議功能來構(gòu)建您的Vue應用程序。
如果選擇使用了最新的JavaScript特性,那么其中舊版瀏覽器將會出現(xiàn)兼容問題,這會造成您的產(chǎn)品將會損失掉一部分用戶。
而如何對舊瀏覽器做兼容呢? Babel 可以實現(xiàn)這個目的,它的職責就是在應用程序發(fā)布前將您應用程序中現(xiàn)代特性“轉(zhuǎn)換”(翻譯和編譯)為標準功能。
Webpack
Webpack是一個模塊打包工具,意思是如果您的代碼跨不同模塊編寫的(例如,不同的JavaScript文件),Webpack也可以全部將這些內(nèi)容“構(gòu)建”到一個瀏覽器可讀的單個文件中。
Webpack 還可以構(gòu)建流水線,它允許您在構(gòu)建代碼前進行轉(zhuǎn)換。例如,使用前面鐵道的Babel,Sass或TypeScript,還可以使用一系列插件來優(yōu)化您的應用程序。
許多開發(fā)者認為Webpack很難理解,也很難配置,但如果沒有它,Vue的一些最棒的功能(如:單頁面組件)將無法實現(xiàn)。我們有關于WebPack的系列教程,助您快速掌握Webpack的使用和配置。
TypeScript
TypeScript是JavaScript語言的超集,它包含了(String,Boolean,Number等)。有了這樣的類型定義,能保證您在開發(fā)期間就能編寫出健壯和穩(wěn)定的代碼,能盡早發(fā)現(xiàn)錯誤。
即將于2019年推出的Vue.js 3將完全用TypeScript開發(fā),這并不意味著您必須在Vue項目中使用它。但假如您需要通過閱讀Vue的內(nèi)部代碼并加入Vue的開源組織為其貢獻力量,您至少也是應該要了解TypeScript這個語言的。
4. Vue框架
基于Vue創(chuàng)建的框架,使您無需從頭開始實現(xiàn)服務端渲染,創(chuàng)建自己的組件庫以及其他類似的工作。
目前有許多優(yōu)秀的Vue框架,但在這,我們只列出了應用在不同領域最為廣泛的三個框架。
Nuxt.js
如果你想要構(gòu)建一個高性能的Vue應用程序,同時還要基于路由、服務端呈現(xiàn)、代碼分離和其他前沿特性,同時還需要一些更高級的功能,例如:SEO標記等。您可以使用Nuxt.js框架。
Nuxt.js框架通過其豐富的社區(qū)插件提供了所有這些開箱即用的特性,以及更多的特性,如PWA等。
Vuetify
Google的Material Design標準是一個廣泛使用的設計語言指南系統(tǒng),它用于構(gòu)建漂亮并合理的用戶界面,這些界面被廣泛應用于Google的產(chǎn)品,如Android和Web系統(tǒng)。
Vuetify框架在一系列Vue組件中實現(xiàn)了Material Design。這允許您使用Material Design布局和樣式快速創(chuàng)建Vue應用程序,并在應用程序中實現(xiàn)模態(tài)框、提示框、導航欄、分頁等頁面小控件。
NativeScript-Vue
Vue.js 是一個用于構(gòu)建Web用戶界面的庫。如果您想將他用于構(gòu)建移動應用,您可以使用NativeScript-Vue框架。
NativeScript是一個使用iOS和Android上原生用戶界面組件構(gòu)建應用app的框架,而NativeScript-Vues 是基于NativeScript且支持Vue語法和Vue組件使用的框架。
5. 其他
在最后一部分中,我們將介紹一些重要但不包含在上述分類中的內(nèi)容。
插件開發(fā)
如果您要在項目中重用Vue功能,或為Vue生態(tài)做出貢獻,您可以把這部分功能打包成插件并發(fā)布給其他用戶。
插件功能是Vue的一個重要特性,有很多工具和模板可以幫助您創(chuàng)建輕便高效的Vue代碼。
動畫
動畫也是 Vue核心功能的一部分,它允許您在向DOM中添加或刪除元素時應用動畫。 為了啟用一個動畫,您可以創(chuàng)建CSS類來定義所需的動畫效果,無論是淡入淡出、更改顏色還是任何其他效果。Vue將檢測當添加元素和刪除元素時,添加或刪除您設置相應的類。
漸進式Web應用程序
漸進式Web應用程序(PWA)與普通的Web應用程序類似,但用戶體驗、性能已經(jīng)得到了增強,同時還增加了現(xiàn)代功能,例如,PWA包括離線緩存、服務端渲染、通知推送等。
大部分PWA功能可以通過Vue CLI 3插件或主入Nuxt.js之類的框架輕松添加到Vue應用中,但您最好仍然需要去學習其中的關鍵技術(shù),包括Web應用json清單(minifest)和服務等技術(shù)。
以上就是Vue開發(fā)指南之重點知識梳理的詳細內(nèi)容,更多關于Vue的資料請關注腳本之家其它相關文章!
相關文章
Vue+Openlayer批量設置閃爍點的實現(xiàn)代碼(基于postrender機制)
本篇文章給大家介紹基于postrender機制使用Vue+Openlayer批量設置閃爍點的實現(xiàn)代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-09-09
vue使用echarts實現(xiàn)柱狀圖動態(tài)排序效果
echarts在前端開發(fā)中實屬必不可缺的大數(shù)據(jù)可視化工具,這篇文章主要為大家詳細介紹了vue如何使用echarts實現(xiàn)柱狀圖動態(tài)排序效果,感興趣的可以了解下2023-10-10
Vue報錯:Uncaught TypeError: Cannot assign to read only propert
這篇文章主要給大家介紹了關于Vue報錯:Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>' 的解決方法,文中介紹的非常詳細,需要的朋友們下面來一起看看吧。2017-06-06

