自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

什么,你還使用Webpack?別人都在用Vite搭建項目了

開發(fā) 開發(fā)工具
vite 實際上就是一個面向現(xiàn)代瀏覽器,基于 ES module 實現(xiàn)了一個更輕快的項目構(gòu)建打包工具。vite 是法語中輕快的意思。

[[431411]]

一、vite 到底是干嘛的?

vite 實際上就是一個面向現(xiàn)代瀏覽器,基于 ES module 實現(xiàn)了一個更輕快的項目構(gòu)建打包工具。

vite 是法語中輕快的意思。

vite 的特點:

1、輕快的冷服務(wù)啟動。vite 是面向現(xiàn)代瀏覽器的,瀏覽器支持 ES6 的 imports屬性,利用瀏覽器解析 imports,在服務(wù)端按需編譯返回,不進行打包。所以運行速度較快。

2、開發(fā)中的熱更新。監(jiān)聽項目代碼,有改動時,會立即重新運行。

3、按需進行編譯,不會刷新全部的DOM。vite只需要在瀏覽器請求源碼時進行轉(zhuǎn)換并按需提供源碼。根據(jù)情景動態(tài)導(dǎo)入代碼,只有在當(dāng)前屏幕實際使用時才會被處理。

vite 對現(xiàn)代的瀏覽器支持性比較好,傳統(tǒng)的瀏覽器可以通過官方提供的 @vite/plugin-legacy 插件支持。

二、vite 創(chuàng)建 vue 項目

vite 是構(gòu)建工具的高階封裝,它的內(nèi)部其實是 Rollup。

vite 是尤雨溪隨著vue3正式版一起發(fā)布的一個工具,所以 vite 只提供了 vue3 的項目搭建方法,沒有 vue2.0 搭建方式。除了能夠搭建 vue3 項目之外,還能搭建 vue-ts、react 、react-ts、preact、preact-ts、vanilla、vanilla-ts、lit、svelte。

2.1、手把手教你搭建 vite 項目

打開命令行工具,使用npm命令:

  1. npm init vite@lasted 

運行結(jié)果,如圖:

什么,你還使用 webpack?別人都在用 vite 搭建項目了

輸入需要創(chuàng)建的項目名“ learn_vite ”,如果不輸入,默認(rèn)是 “ vite-project ” 。

回車進行下一步,需要選擇創(chuàng)建項目的類型,如圖:

什么,你還使用 webpack?別人都在用 vite 搭建項目了

使用上下箭頭切換,選擇我們最熟悉的 vue ,回車進行下一步。

什么,你還使用 webpack?別人都在用 vite 搭建項目了

進行選擇是否為 ts? vite 原生支持 ts 。我們直接選擇vue。不要 ts。

什么,你還使用 webpack?別人都在用 vite 搭建項目了

此時,項目創(chuàng)建完成了,需要進入項目,安裝依賴,就可以啟動服務(wù)了。

什么,你還使用 webpack?別人都在用 vite 搭建項目了

根據(jù)提示地址,去訪問我們剛剛創(chuàng)建的第一個項目。如圖所示。

什么,你還使用 webpack?別人都在用 vite 搭建項目了

2.2、 vite創(chuàng)建文件目錄

創(chuàng)建好項目之后,使用編輯器打開項目,我們可以看到項目結(jié)構(gòu)如圖:

什么,你還使用 webpack?別人都在用 vite 搭建項目了

學(xué)習(xí)vite是如何運行項目的,首先從配置文件入手。打開package.json文件,代碼如下:

  1.   "name""learn_vite"
  2.   "version""0.0.0"
  3.   "scripts": { 
  4.     "dev""vite"
  5.     "build""vite build"
  6.     "serve""vite preview" 
  7.   }, 
  8.   "dependencies": { 
  9.     "vue""^3.2.16" 
  10.   }, 
  11.   "devDependencies": { 
  12.     "@vitejs/plugin-vue""^1.9.3"
  13.     "vite""^2.6.4" 
  14.   } 

 找到啟動項目的命令,以及打包命令。

三、vite VS webpack

3.1、vite 速度快有多快?

我們創(chuàng)建兩個項目,一個使用 vite ,另一個使用 webpack 。創(chuàng)建完成之后,啟動服務(wù),對比啟動時間,我們就知道 vite 有多快了。

什么,你還使用 webpack?別人都在用 vite 搭建項目了

啟動服務(wù)時,webpack 需要先打包項目,打包之后再啟動項目,但是 vite 完全跳過了打包這個概念,服務(wù)器隨起隨用。所以在啟動服務(wù)時,vite 比 webpack 的速度快多了。

3.2、vite 熱更新效率有多高?

一些打包器的開發(fā)服務(wù)器將構(gòu)建內(nèi)容存入內(nèi)存,這樣它們只需要在文件更改時,使模塊圖的一部分失活,但它也需要整個重新構(gòu)建并重新載入頁面。這樣代價很高,重新加載頁面會失去應(yīng)用的當(dāng)前狀態(tài)。所以 vite 支持了動態(tài)模塊熱加載(HMR),也就是允許一個模塊“熱替換”自己,對頁面的其他部分沒有影響,也就是只替換更新了一部分有改變的元素,所以大大改進了開發(fā)體驗。

vite 同時還利用 http 頭加速整個頁面的加載,依賴模塊請求會通過 Cache-Control:max-age=31536000,immutable 進行強緩存,再次請求的時候,緩存的內(nèi)容就不需要再次請求。

3.3、使用語言不同

webpack 使用的是 node.js 去實現(xiàn)的,而 vite 使用的是esbuild預(yù)構(gòu)建依賴。而es build使用Go編寫的,比 node.js 編寫的打包器預(yù)構(gòu)建依賴快 10-100 倍。

上邊說這么多,凈夸 vite 有多優(yōu)秀了,難道 vite 就是這么強大,沒有什么缺點嗎?

四、vite 局限

vite 與webpack 相比,畢竟出道時間有點短,它的生態(tài)還不是不完善。webpack最牛之處就在于 loader 和 plugin 非常豐富。

vite 打包項目時,目前使用的是 Rollup,對 CSS和代碼分割不是很友好。

vite 剛興起不久,生態(tài)系統(tǒng)還不夠完善,建議大家在創(chuàng)建工作項目的時候還是使用 webpack 。自己的項目可以使用 vite 。

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2024-09-27 11:46:51

2024-05-27 00:00:01

2020-03-06 10:54:51

Go語言XML算法

2013-06-13 08:57:47

Web開發(fā)Web工具Web訪談

2015-11-13 10:38:53

Github系統(tǒng)內(nèi)部開源軟件

2023-12-09 09:44:07

MetaFacebook開源

2014-08-21 10:27:58

創(chuàng)業(yè)初創(chuàng)技術(shù)

2018-01-25 21:32:24

Emoji表情iPhone

2017-10-23 12:54:53

PPT

2024-08-22 12:51:46

2018-06-15 09:10:43

人工智能AI透視

2019-09-24 09:47:20

IOT大數(shù)據(jù)物聯(lián)網(wǎng)

2019-10-11 20:32:42

數(shù)據(jù)中心

2019-05-30 15:20:04

webpack前端開發(fā)

2020-03-04 14:05:35

戴爾

2021-11-11 15:25:28

@AsyncJava線程池

2024-04-11 09:17:51

ArraysJava安全

2024-08-21 08:43:53

Python技巧鍵值

2021-12-15 23:42:56

Webpack原理實踐

2019-07-21 20:08:50

工具代碼開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號