本文章將為大家介紹新一款的構(gòu)建工具——Vite,當(dāng)然我們Vite更多的是被用于開發(fā)階段,下面也為大家介紹到了 Vite 想比于 webpack 編譯中的優(yōu)勢(shì),以及Vite構(gòu)建Vue3項(xiàng)目的步驟教程,趕快跟著我嘗試一下吧!
我們?cè)谇懊媸褂肰ue2進(jìn)行開發(fā)的時(shí)候通常都是使用我們的vue-cli腳手架進(jìn)行項(xiàng)目的搭建,cli腳手架中就是基于webpack進(jìn)行構(gòu)建打包,webpack 作為代碼編譯工具,有入口、出口、loader 和插件。
webpack 是一個(gè)用于現(xiàn)代 JavaScript 應(yīng)用程序的靜態(tài)模塊打包工具。
(資料圖片僅供參考)
當(dāng) webpack 處理應(yīng)用程序時(shí),它會(huì)在內(nèi)部構(gòu)建一個(gè)依賴圖(dependency graph),此依賴圖對(duì)應(yīng)映射到項(xiàng)目所需的每個(gè)模塊,并生成一個(gè)或多個(gè) bundle。
從圖中我們可以看出,Webpack 可以將多種靜態(tài)資源 js、css、less、sass 轉(zhuǎn)換成一個(gè)靜態(tài)文件,減少了頁(yè)面的請(qǐng)求。【相關(guān)推薦:vuejs視頻教程、web前端開發(fā)】
關(guān)于webpack的介紹和配置以及使用這里就不過(guò)多介紹了,如果有小伙伴有興趣了解的話可以閱讀一些我早些前發(fā)布的兩篇文章 ? 安裝webpack及使用 、webpack相關(guān)配置,今天呢我們?yōu)榇蠹医榻B一款新型的構(gòu)建工具——Vite
Vite(法語(yǔ)意為 “快速的”,發(fā)音 /vit/,發(fā)音同 “veet”)是一種新型前端構(gòu)建工具,能夠顯著提升前端開發(fā)體驗(yàn)。它主要由兩部分組成:一個(gè)開發(fā)服務(wù)器,它基于 原生 ES 模塊 提供了 豐富的內(nèi)建功能,如速度快到驚人的 模塊熱更新(HMR)。一套構(gòu)建指令,它使用 Rollup 打包你的代碼,并且它是預(yù)配置的,可輸出用于生產(chǎn)環(huán)境的高度優(yōu)化過(guò)的靜態(tài)資源。Vite 意在提供開箱即用的配置,同時(shí)它的 插件 API 和 JavaScript API 帶來(lái)了高度的可擴(kuò)展性,并有完整的類型支持。
為什么選擇他?在瀏覽器支持 ES 模塊之前,JavaScript 并沒有提供的原生機(jī)制讓開發(fā)者以模塊化的方式進(jìn)行開發(fā)。這也正是我們對(duì) “打包” 這個(gè)概念熟悉的原因:使用工具抓取、處理并將我們的源碼模塊串聯(lián)成可以在瀏覽器中運(yùn)行的文件。時(shí)過(guò)境遷,我們見證了諸如 webpack、Rollup 和 Parcel 等工具的變遷,它們極大地改善了前端開發(fā)者的開發(fā)體驗(yàn)。然而,當(dāng)我們開始構(gòu)建越來(lái)越大型的應(yīng)用時(shí),需要處理的 JavaScript 代碼量也呈指數(shù)級(jí)增長(zhǎng)。包含數(shù)千個(gè)模塊的大型項(xiàng)目相當(dāng)普遍。我們開始遇到性能瓶頸 —— 使用 JavaScript 開發(fā)的工具通常需要很長(zhǎng)時(shí)間(甚至是幾分鐘?。┎拍軉?dòng)開發(fā)服務(wù)器,即使使用 HMR,文件修改后的效果也需要幾秒鐘才能在瀏覽器中反映出來(lái)。如此循環(huán)往復(fù),遲鈍的反饋會(huì)極大地影響開發(fā)者的開發(fā)效率和幸福感。Vite 旨在利用生態(tài)系統(tǒng)中的新進(jìn)展解決上述問(wèn)題:瀏覽器開始原生支持 ES 模塊,且越來(lái)越多 JavaScript 工具使用編譯型語(yǔ)言編寫。
webpack:編譯過(guò)程是將所有的依賴通過(guò)webpack進(jìn)行打包編譯最后交給服務(wù)器進(jìn)行渲染,所以速度會(huì)比較慢畢竟是加載所有的依賴進(jìn)行處理,所以我們尤其是初次啟動(dòng)cli腳手架項(xiàng)目的時(shí)候會(huì)等待依賴加載;
vite:使用 esbuild 預(yù)構(gòu)建依賴。esbuild 使用 Go 編寫,并且比以 JavaScript 編寫的打包器預(yù)構(gòu)建依賴快 10-100 倍。并且以 原生 ESM 方式提供源碼。這實(shí)際上是讓瀏覽器接管了打包程序的部分工作:Vite 只需要在瀏覽器請(qǐng)求源碼時(shí)進(jìn)行轉(zhuǎn)換并按需提供源碼。根據(jù)情景動(dòng)態(tài)導(dǎo)入代碼,即只在當(dāng)前屏幕上實(shí)際使用時(shí)才會(huì)被處理。說(shuō)白了就是vite會(huì)直接啟動(dòng)服務(wù)進(jìn)行渲染,渲染過(guò)程中瀏覽器需要什么資源我們的服務(wù)會(huì)進(jìn)行資源的請(qǐng)求處理,可以理解為需要什么請(qǐng)求什么。所以速度上 Vite 通過(guò)在一開始將應(yīng)用中的模塊區(qū)分為 依賴 和 源碼 兩類,改進(jìn)了開發(fā)服務(wù)器啟動(dòng)時(shí)間;
我們之前在使用vue-cli腳手架的時(shí)候,首先是將腳手架安裝到了全局中,以便后面創(chuàng)建Vue2項(xiàng)目使用,而Vite構(gòu)建工具是不需要我們?nèi)诌M(jìn)行安裝的,我們可以通過(guò)下面的命令進(jìn)行創(chuàng)建;注意 Vite 需要 Node.js 版本 14.18+,16+。然而,有些模板需要依賴更高的 Node 版本才能正常運(yùn)行,當(dāng)你的包管理器發(fā)出警告時(shí),請(qǐng)注意升級(jí)你的 Node 版本。
? 創(chuàng)建項(xiàng)目命令:
//使用 NPM:$ npm create vite@latest//使用 Yarn:$ yarn create vite//使用 PNPM:$ pnpm create vite
? 輸入文件名、選擇前端框架、選擇語(yǔ)言:
? 進(jìn)入項(xiàng)目、安裝依賴、啟動(dòng)項(xiàng)目(編譯速度非常快)
? 項(xiàng)目啟動(dòng)成功
大家動(dòng)手實(shí)操一下吧,通過(guò)Vite構(gòu)建第一個(gè)Vue3項(xiàng)目,大家運(yùn)行后可以自己使用VSCode打開代碼看一看,你能發(fā)現(xiàn)Vue3項(xiàng)目跟Vue2從代碼層面有多少處大的變化,也可以自己動(dòng)手修改一下代碼。感受一下我們Vite編譯的速度!
(學(xué)習(xí)視頻分享:vuejs入門教程、編程基礎(chǔ)視頻)
以上就是認(rèn)識(shí)Vue更高效的構(gòu)建工具—Vite的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!