簡介
vite 是乙個 web server 開發工具,基於瀏覽器的原生 es module 支援,不預處理複雜的依賴關係
vite 打包用 rollup 非 webpack
vite 的按需編譯
webpacl第一次載入時候其實先將完整的專案檔案 build 後將編譯檔案 bundle 放在記憶體中,所以第一次很慢,熱過載快
而 vite 不會任何操作,啟動時只是起 web server,並不會編譯所有的檔案。等請求的時候攔截請求,編譯所需檔案,然後響應
雖然這樣響應變慢,但 vite 會對編譯後結果快取方便下次用。當有 1000 + 檔案時,先全域性編譯和按需編譯的差別感知就比較明顯
vite 只是優化開發體驗的開發工具,最終還是需要打包出來的。第一次啟動時會在 node_module 下快取遞迴依賴檔案。如果依賴版本不變,快取就不會改變,所以第二次 npm run dev 時秒開
webpack vs vite
vue-cli-service serve -> build -> bundle -> 啟動 webserver 響應請求
vite server -> web server -> 攔截請求-編譯請求檔案 -> 相應請求
webpack 先編譯,然後瀏覽器要什麼給什麼 vite 先啟服務,然後要什麼返回編譯後結果
optimize
vite 的乙個子命令npx vite optimize
手動生成 node_modules/.vite_opt_cache 快取檔案,
hmr熱重啟
vite build
npm run build 啟動的是 vite build ,會把專案打包在 dist 目錄下,減少 http 請求次數
http1.1 標準下 chrome 同乙個網域名稱請求併發只有 6 個,多的請求只能等待
http2 好很多,具體不清楚。vite 只是開發時候不打包,生產模式依然打包出 dist
ls -al
$ ls -al
total 147
drwxr-xr-x 1 jufjzq 197121
07月 1222:
31.drwxr-xr-x 1 jufjzq 197121
07月 1222:
30..-rw-r--r--
1 jufjzq 197121
356月 2304:
09.gitignore
-rw-r--r--
1 jufjzq 197121
3136月 303:
30 index.html
drwxr-xr-x 1 jufjzq 197121
07月 1222:
36 node_modules
-rw-r--r--
1 jufjzq 197121
2607月 1222:
31package
.json
-rw-r--r--
1 jufjzq 197121
95024
7月 1222:
31package
-lock.json
drwxr-xr-x 1 jufjzq 197121
07月 1222:
30public
drwxr-xr-x 1 jufjzq 197121
07月 1222:
42 src
開頭 d 代表是乙個資料夾,後邊三位一組 r w x。組為當前組具備許可權,當前使用者具備許可權,其他使用者具備許可權。r read w write x 執行權
-rw-r--r-- 1 jufjzq 197121 313 6月 3 03:30 index.html
當前使用者繼承與當前組,所以 rw-rw-rw
新的Windows SDK之粗略體驗
1.2個g 解壓縮以後大概 2.3g 在這個安裝包中,我們可以在安裝列表裡看到如下內容 目前據說只支援英文 在 document 下提供了 win32 開發和.net3.0 的文件,看來我們有機會可以提前看下其特性了。但不曉得會和之前的那個版本有什麼區別。另在 samples 裡的示例我想這個都是大...
新的Windows SDK之粗略體驗
1.2個 g,解壓縮以後大概 2.3g 在這個安裝包中,我們可以在安裝列表裡看到如下內容 目前據說只支援英文 在document 下提供了 win32 開發和.net3.0 的文件,看來我們有機會可以提前看下其特性了。但不曉得會和之前的那個版本有什麼區別。另在 samples 裡的示例我想這個都是大...
在開發中如何才能避免重複造輪子和GET新技能
假設,你決定留下來處理這個爛攤子,提供以下建議供參考 第一,你應該得到足夠的職位或授權,乙個程式設計師是沒有足夠的能力處理這個問題的。不在其位,不謀其政,如果你連專案經理或架構師都不是,連技術高層的認可都沒有,那麼還是走為上。第二,建立共識,你的觀察和意見是否能夠得到領導和團隊成員的認可?在團隊目前...