開發階段vite的速度遠快于webpack,主要是因為:
**webpack是先打包再啟動開發服務器,vite是直接啟動開發服務器,然后按需編譯依賴文件。**
##### 下面詳細來說:
* webpack先打包,再啟動開發服務器,請求服務器時直接給予打包后的結果;
* vite直接啟動開發服務器,請求哪個模塊再對哪個模塊進行實時編譯;
* 由于現代瀏覽器本身就支持ES Modules,會主動發起請求去獲取所需文件。vite充分利用這點,將開發環境下的模塊文件,就作為瀏覽器要執行的文件,而不是像webpack先打包,交給瀏覽器執行的文件是打包后的;
* 由于vite啟動的時候不需要打包,也就無需分析模塊依賴、編譯,所以啟動速度非常快。當瀏覽器請求需要的模塊時,再對模塊進行編譯,這種按需動態編譯的模式,極大縮短了編譯時間,當項目越大,文件越多時,vite的開發時優勢越明顯;
* 在HRM方面,當某個模塊內容改變時,讓瀏覽器去重新請求該模塊即可,而不是像webpack重新將該模塊的所有依賴重新編譯;
* 當需要打包到生產環境時,vite使用傳統的rollup進行打包,所以,vite的優勢是體現在開發階段,另外,由于vite使用的是ES Module,所以代碼中不可以使用CommonJs;
- 首頁
- 2021年
- 基礎知識
- 同源策略
- 跨域
- css
- less
- scss
- reset
- 超出文本顯示省略號
- 默認滾動條
- 清除浮動
- line-height與vertical-align
- box-sizing
- 動畫
- 布局
- JavaScript
- 設計模式
- 深淺拷貝
- 排序
- canvas
- 防抖節流
- 獲取屏幕/可視區域寬高
- 正則
- 重繪重排
- rem換算
- 手寫算法
- apply、call和bind原理與實現
- this的理解-普通函數、箭頭函數
- node
- nodejs
- express
- koa
- egg
- 基于nodeJS的全棧項目
- 小程序
- 常見問題
- ec-canvas之橫豎屏切換重繪
- 公眾號后臺基本配置
- 小程序發布協議更新
- 小程序引入iconfont字體
- Uni-app
- 環境搭建
- 項目搭建
- 數據庫
- MySQL數據庫安裝
- 數據庫圖形化界面常用命令行
- cmd命令行操作數據庫
- Redis安裝
- APP
- 控制縮放meta
- GIT
- 常用命令
- vsCode
- 常用插件
- Ajax
- axios-services
- 文章
- 如何讓代碼更加優雅
- 虛擬滾動
- 網站收藏
- 防抖節流之定時器清除問題
- 號稱破解全網會員的腳本
- 資料筆記
- 資料筆記2
- 公司面試題
- 服務器相關
- 前端自動化部署-jenkins
- nginx.conf配置
- https添加證書
- shell基本命令
- 微型ssh-deploy前端部署插件
- webpack
- 深入理解loader
- 深入理解plugin
- webpack注意事項
- vite和webpack區別
- React
- react+antd搭建
- Vue
- vue-cli
- vue.config.js
- 面板分割左右拖動
- vvmily-admin-template
- v-if與v-for那個優先級高?
- 下載excel
- 導入excel
- Echart-China-Map
- vue-xlsx(解析excel)
- 給elementUI的el-table添加骨架
- cdn引入配置
- Vue2.x之defineProperty應用
- 徹底弄懂diff算法的key作用
- 復制模板內容
- 表格操作按鈕太多
- element常用組件二次封裝
- Vue3.x
- Vue3快速上手(第一天)
- Vue3.x快速上手(第二天)
- Vue3.x快速上手(第三天)
- vue3+element-plus搭建項目
- vue3
- 腳手架
- vvmily-cli
- TS
- ts筆記
- common
- Date
- utils
- axios封裝
- 2022年
- HTML
- CSS基礎
- JavaScript 基礎
- 前端框架Vue
- 計算機網絡
- 瀏覽器相關
- 性能優化
- js手寫代碼
- 前端安全
- 前端算法
- 前端構建與編譯
- 操作系統
- Node.js
- 一些開放問題、智力題