Vite学习笔记
一、認識Vite
Webpack是目前整個前端使用最多的構建工具,但是除了webpack之后也有其他的一些構建工具:
- 比如rollup、parcel、gulp、vite等等
什么是vite呢? 官方的定位:下一代前端開發與構建工具;
如何定義下一代開發和構建工具呢?
- 我們知道在實際開發中,我們編寫的代碼往往是不能被瀏覽器直接識別的,比如ES6、TypeScript、Vue文件等
等; - 所以我們必須通過構建工具來對代碼進行轉換、編譯,類似的工具有webpack、rollup、parcel;
- 但是隨著項目越來越大,需要處理的JavaScript呈指數級增長,模塊越來越多;
- 構建工具需要很長的時間才能開啟服務器,HMR也需要幾秒鐘才能在瀏覽器反應出來;
- 所以也有這樣的說法:天下苦webpack久矣;
Vite (法語意為 “快速的”,發音 /vit/) 是一種新型前端構建工具,能夠顯著提升前端開發體驗。
二、Vite的構造
它主要由兩部分組成:
- 一個開發服務器,它基于原生ES模塊提供了豐富的內建功能,HMR的速度非常快速;
- 一套構建指令,它使用rollup打開我們的代碼,并且它是預配置的,可以輸出生成環境的優化過的靜態資源;
目前是否要大力學習vite?vite的未來是怎么樣的?
- 目前vite雖然已經更新到2.0,依然并不算非常的穩定,并且比較少大型項目(或框架)使用vite來進行構建;
- vite的整個社區插件等支持也還不夠完善;
- 包括vue腳手架本身,目前也還沒有打算遷移到vite,而依然使用webpack(雖然后期一定是有這個打算的);
- 所以vite看起來非常的火熱,在面試也可能會問到,但是實際項目中應用的還比較少;
三、瀏覽器原生支持模塊化
但是如果我們不借助于其他工具,直接使用ES Module來開發有什么問題呢?
- 首先,我們會發現在使用loadash時,加載了上百個模塊的js代碼,對于瀏覽器發送請求是巨大的消耗;
- 其次,我們的代碼中如果有TypeScript、less、vue等代碼時,瀏覽器并不能直接識別;
事實上,vite就幫助我們解決了上面的所有問題。
四、Vite的安裝和使用
注意:Vite本身也是依賴Node的,所以也需要安裝好Node環境 并且Vite要求Node版本是大于12版本的;
首先,我們安裝一下vite工具
npm install vite –g # 全局安裝 npm install vite –D # 局部安裝通過vite來啟動項目:
npx vite五、Vite對css的支持
vite可以直接支持css的處理
- 直接導入css即可;
vite可以直接支持css預處理器,比如less
- 直接導入less;
- 之后安裝less編譯器;
vite直接支持postcss的轉換:
- 只需要安裝postcss和postcss-preset-env,并且配置 postcss.config.js 的配置文件即可;
六、Vite對TypeScript的支持
vite對TypeScript是原生支持的,它會直接使用ESBuild來完成編譯:
- 只需要直接導入即可;
如果我們查看瀏覽器中的請求,會發現請求的依然是ts的代碼:
- 這是因為vite中的服務器Connect會對我們的請求進行轉發;
- 獲取ts編譯后的代碼,給瀏覽器返回,瀏覽器可以直接進行解析;
注意:在vite2中,已經不再使用Koa了,而是使用Connect來搭建的服務器
七、Vite對vue的支持
vite對vue提供第一優先級支持:
- Vue 3 單文件組件支持:@vitejs/plugin-vue
- Vue 3 JSX 支持:@vitejs/plugin-vue-jsx
- Vue 2 支持:underfin/vite-plugin-vue2
安裝支持vue的插件:
npm install @vitejs/plugin-vue -D在vite.config.js中配置插件:
八、Vite打包項目
我們可以直接通過vite build來完成對當前項目的打包工具:
npx vite build我們可以通過preview的方式,開啟一個本地服務來預覽打包后的效果:
npx vite preview配置script:
九、Vite腳手架工具
在開發中,我們不可能所有的項目都使用vite從零去搭建,比如一個react項目、Vue項目;
- 這個時候vite還給我們提供了對應的腳手架工具;
所以Vite實際上是有兩個工具的:
- vite:相當于是一個構件工具,類似于webpack、rollup;
- @vitejs/create-app:類似vue-cli、create-react-app;
如果使用腳手架工具呢?
npm init @vitejs/app上面的做法相當于省略了安裝腳手架的過程:
npm install @vitejs/create-app -g create-app myDemo總結
- 上一篇: 三、数据预处理——处理分类型数据:编码与
- 下一篇: 已安装Anaconda情况下,命令行pi