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