精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一篇了解 Vite 的好與壞

開發(fā) 前端
我們前面說到過,NioEventLoopGroup我們可以近乎把它看作是一個線程池,該線程池會執(zhí)行一個一個的任務,我們常用的NioEventLoopGroup大概有兩種,NioEventLoopGroup(int nThreads),NioEventLoopGroup(),即一個是指定線程數(shù)量的,一個是默認指定線程數(shù)量的!這里我們以無參構造為入口進行分析!

[[408805]]

本文轉載自微信公眾號「Tecvan」,作者范文杰。轉載本文請聯(lián)系Tecvan公眾號。

一、Vite 是什么

2020年4月,尤大大發(fā)了這么一個推:

隨后,2021年2月,Vite 2.0 它來了,上來就是一套組合拳:

  • 基于 esbuild 實現(xiàn)的極速開發(fā)體驗
  • 多框架支持
  • 兼容 Rollup 的插件機制與 API
  • SSR 支持
  • 舊瀏覽器支持

一開始我是拒絕的,從 grunt、gulp ,到 Webpack、Rollup、Snowpack 以及若干知名不知名構建框架,都2021了,還來?然后試用了一下,嗯,是真的香!

二、Vite 的優(yōu)勢

2.1 真 TM 快

Vite 非常非常快,對比 Vue-cli(基于 Webpack):

  Dev 啟動時長 Dev 頁面加載速度 Build 時長
Vue-cli 2568ms 320ms 5.14s
Vite 232ms 379ms 2.39s
 

示例代碼:Vue3 項目,10個組件

測試兩者的 dev 命令運行耗時相差十倍,且理論上,項目越大性能差距越大,為什么呢?最大的原因是 Vite 在開發(fā)模式下并沒有做太多打包操作!

Webpack 啟動后會做一堆事情,經(jīng)歷一條很長的編譯打包鏈條,從入口開始需要逐步經(jīng)歷語法解析、依賴收集、代碼轉譯、打包合并、代碼優(yōu)化,最終將高版本的、離散的源碼編譯打包成低版本、高兼容性的產(chǎn)物代碼,這可滿滿都是 CPU、IO 操作啊,在 Node 運行時下性能必然是有問題。

而 Vite 運行 Dev 命令后只做了兩件事情,一是啟動了一個用于承載資源服務的 service;二是使用 esbuild 預構建 npm 依賴包。之后就一直躺著,直到瀏覽器以 http 方式發(fā)來 ESM 規(guī)范的模塊請求時,Vite 才開始“「按需編譯」”被請求的模塊。

這里 Vite 預設的前提是:

  • 現(xiàn)代瀏覽器大多數(shù)已經(jīng)原生支持 ESM 規(guī)范,構建工具 —— 特別是開發(fā)環(huán)境下已經(jīng)沒有太大必要為了低版本兼容把大量的時間花在編譯打包上了!

這么一對比,Webpack 是啥都做了,瀏覽器只要運行編譯好的低版本(es5)代碼就行;而 Vite 只處理問題的一部分,剩下的事情交由瀏覽器自行處理,那速度必然賊 TM 快。

除了啟動階段跳過編譯操作之外,Vite 還有很多值得一提的性能優(yōu)化,整體梳理一下:

  • 預編譯:npm 包這類基本不會變化的模塊,使用 Esbuild 在 「預構建」 階段先打包整理好,減少 http 請求數(shù)
  • 按需編譯:用戶代碼這一類頻繁變動的模塊,直到被使用時才會執(zhí)行編譯操作
  • 客戶端強緩存:請求過的模塊會被以 http 頭 max-age=31536000,immutable 設置為強緩存,如果模塊發(fā)生變化則用附加的版本 query 使其失效
  • 產(chǎn)物優(yōu)化:相比于 Webpack ,Vite 直接錨定高版本瀏覽器,不需要在 build 產(chǎn)物中插入過多運行時與模板代碼
  • 內置更好的分包實現(xiàn):不需要用戶干預,默認啟用一系列智能分包規(guī)則,盡可能減少模塊的重復打包
  • 更好的靜態(tài)資源處理:Vite 盡量避免直接處理靜態(tài)資源,而是選擇遵循 ESM 方式提供服務,例如引入圖片 import img from 'xxx.png' 語句,執(zhí)行后 img 變量只是一個路徑字符串。

可以看出,Vite 的快是全方位的,從 Dev 到 Build,從 npm 包到項目源碼,再到靜態(tài)資源處理都在 ESM 規(guī)則框架下盡可能地實現(xiàn)各種優(yōu)化措施,理論性能急劇提升。

2.2 簡單

Vite 的用法很簡單, 執(zhí)行初始化命令:

  1. yarn create @vitejs/app my-vue-app --template vue 

就得到了一個預設好的開發(fā)環(huán)境,可以開始愉快地寫 demo 了,Vite 開箱就給你一堆功能,包括 css 預處理器、html 預處理器、hash 命名、異步加載、分包、壓縮、HMR 等:

這些功能,作者都按行業(yè)最佳實踐預設好了,通常不需要用戶介入做變更。

Vite 的表現(xiàn)很容易讓人聯(lián)想到 vue-cli,不過兩者區(qū)別還是挺大的:vue-cli 底層依賴 Webpack,實際的構建工作通常由各種 Webpack loader、plugin 實現(xiàn),比如 less => css 由 less-loader 實現(xiàn);圖片加載由 img-loader 實現(xiàn)等。這套設計很靈活,你可以在 Webpack 體系下做任何你能想到的變更,只需要學習一點點 Webpack 的知識,包括百來個配置項、成千上萬的插件、若干虛無縹緲的構建概念等。

而 Vite 顯得特別簡潔,它只是暴露了極少數(shù)的配置項與 plugin 接口,設計上就沒打算讓你做太多自定義操作。。。這是因為 Vite 從一開始就沒打算做成另一個 Webpack,而是做成一套“能夠顯著提升前端開發(fā)體驗的前端構建工具”,重在 「開發(fā)體驗」 啊同學們,Vite 可謂是用心良苦,想盡辦法降低學習入門成本,它就不希望你為了使用工具又學一大堆復雜、縹緲的概念,希望這些事情都在框架層面屏蔽了 —— 雖然代價是喪失靈活性。

簡單說吧,Vite 定位就是傻瓜式但強大的構建工具,你專心寫好業(yè)務代碼,早點下班,不用再為了工具費神費力了。

2.3 生態(tài)

除了極致的運行性能與簡易的使用方法外,Vite 對已有生態(tài)的兼容性也不容忽略,主要體現(xiàn)在兩個點:

  • 與 Vue 解耦,兼容支持 React、Svelte、Preact、Vanilla 等,這意味著 Vite 可以被應用在大多數(shù)現(xiàn)代技術棧中
  • 與 Rollup 極其接近的插件接口,這意味著可以復用 Rollup 生態(tài)中大部分已經(jīng)被反復錘煉的工具

說真的,這兩條擺上桌面,加上前面討論的性能優(yōu)勢和超低學習成本,一時半會真想不到拒絕的理由了。。。

三、Vite 的劣勢

Vite 還很新,雖然它從理論與體感上提供了非常極致的開發(fā)體驗,還是有一些值得關注的問題。

3.1 兼容性

默認情況下,無論是 dev 還是 build 都會直接打出 ESM 版本的代碼包,這就要求客戶瀏覽器需要有一個比較新的版本,這放在現(xiàn)在的國情下還是有點難度的。

不過 Vite 同時提供了一些彌補的方法,使用 build.polyfillDynamicImport 配置項配合 @vitejs/plugin-legacy 打包出一個看起來兼容性比較好的版本,我相信這一點會隨時間慢慢被抹平。

3.2 缺少 Show Case

Vite 太新了,直到最近才釋放出正式 2.0版本,社區(qū)還沒太反應過來,自然也就沒什么大型、復雜的商業(yè)落地案例,誰都說不準這里面可能有多少坑。

不過好消息是社區(qū)對 Vite 的搜索熱度在最近幾個月急劇增長:

數(shù)據(jù)來自谷歌指數(shù) (https://trends.google.com/trends/explore?date=2021-01-01%202021-07-01&q=vite,webpack)

相信很快就會出現(xiàn)一大批布道者,畢竟這玩意兒是真的很有競爭力。

3.3 代價

不要忘記,工程化本身的復雜度不會憑空消失,只 Vite 背后的團隊在幫我們負重前行,這對 Vite 開發(fā)團隊而言,維護這么多構建規(guī)則是一個不小的負擔。而站在用戶的角度,越容易上手的工具往往意味著越難被定制。

另外,如果只是在 Vite 預設好的邊框里面玩確實很容易,但隨著項目復雜度的提高,用戶遲早還是會接觸到底層的 esbuild 或 Rollup,高工們該補的知識還是遲早還是得補回來,逃不掉的。

三、總結

Vite 給我最大的啟示:Webpack 并不是標準答案,前端構建工具可以有一些新的玩法:

  • 「打包」 不是目的,「運行」 才是,2021年了,能夠交給瀏覽器做的事情就交給瀏覽器吧
  • 一個靈活的框架,對作者而言可能意味著逐步失控的開發(fā)量;對用戶而言可能意味高學習成本,以及不斷重復的類似空格好還是 tab 好的爭論。那么,一套內置好各種業(yè)界 「最佳實踐」,沒有太多定制空間的工具,某些情況下反而能提升大家的效率

我個人對 Vite 的態(tài)度:短期保持觀望,長期非常看好。 

我相信現(xiàn)在開始上手學習 Vite 是一個不錯的選擇,這東西封裝的太好了,學習成本極低(吹逼效果極好),可以寫點 Demo 或者就直接在一些用戶范圍可控的小型新項目落地。但是,建議不要激進地直接重構一些已有的大型項目,別自己給自己埋坑了,早點下班不香嗎。

 

責任編輯:武曉燕 來源: Tecvan
相關推薦

2024-09-27 12:04:48

2012-05-04 09:54:23

Linux服務器

2021-06-21 14:36:46

Vite 前端工程化工具

2022-10-26 07:39:36

MVCC數(shù)據(jù)庫RR

2022-12-19 08:14:30

注解開發(fā)配置

2021-05-20 06:57:16

RabbitMQ開源消息

2021-08-11 07:02:21

npm包管理器工具

2021-07-14 10:08:30

責任鏈模式加工鏈

2020-10-09 08:15:11

JsBridge

2021-10-28 19:15:02

IPUARM

2021-07-10 09:02:42

編程語言 TypeScript

2022-02-18 08:54:21

docker操作系統(tǒng)Linux

2022-05-05 07:40:07

maskCSS

2012-06-04 13:55:07

Windows 8應用

2023-12-07 07:14:36

WebpackVite

2022-06-08 00:10:33

數(shù)據(jù)治理框架

2021-12-30 09:38:51

DDoS攻擊防范

2023-05-12 08:19:12

Netty程序框架

2021-10-30 07:55:00

BLE 藍牙開發(fā)

2021-07-14 08:24:23

TCPIP 通信協(xié)議
點贊
收藏

51CTO技術棧公眾號

成人在线观看免费视频| 国产一区二区在线不卡| 自拍偷拍精品| 欧美片网站yy| 日本一二三区视频在线| 亚洲AV第二区国产精品| 美女久久久精品| 欧美另类暴力丝袜| 美女100%无挡| 精品视频91| 色综合久久综合| 艳母动漫在线观看| 天堂а√在线8种子蜜桃视频 | 成人一二三区视频| 国产成人精品日本亚洲| 国产污视频在线观看| 日本一区二区三区视频| 亚洲第一精品福利| 九九九九九九九九| 日韩中文影院| 婷婷综合久久一区二区三区| 亚洲一区二区三区精品视频| 欧美一级片免费| 老司机精品视频在线| 青青草成人在线| 精品少妇theporn| 国产精品x453.com| 亚洲一二三在线| 亚洲无人区码一码二码三码| 高清久久精品| 欧美日韩一区高清| 国产午夜伦鲁鲁| 久草在线新免费首页资源站| 国产免费成人在线视频| 精品久久一区二区三区蜜桃| 精品人妻久久久久一区二区三区| 奇米888四色在线精品| 91tv亚洲精品香蕉国产一区7ujn| 亚洲国产精品久| 国产精品久久久久久久免费观看 | 麻豆av在线导航| 久久精品人人做人人爽97| 国产一区在线观| 亚洲av无码乱码国产精品久久| 久草热8精品视频在线观看| 国产精品视频色| 成人黄色激情视频| 视频在线在亚洲| 国产成人精品在线播放| 台湾佬中文在线| 久久精品综合| 国产成人激情小视频| 久久久久久久久久久久久久av| 欧美精品99| 色综合男人天堂| 99视频只有精品| 欧美影视一区| 欧美精品在线第一页| 国产女人被狂躁到高潮小说| 综合激情视频| 欧美国产中文字幕| 在线看成人av| 国产精品日韩久久久| 欧美专区日韩视频| 免费在线观看av的网站| 免费在线成人网| 国产一区二区丝袜| 国产尤物视频在线观看| 国产成人精品aa毛片| 国产精品我不卡| 邻居大乳一区二区三区| 国产精品美女久久久久aⅴ | 欧美日韩视频不卡| 污网站免费在线| 精品国产黄a∨片高清在线| 欧美日韩国产a| 亚洲精品久久久久久| 成人在线视频你懂的| 国产视频综合在线| 日本人亚洲人jjzzjjz| 无需播放器亚洲| 欧美激情免费看| 精品久久久久久久久久久久久久久久| 日韩伦人妻无码| 欧美另类69xxxx| 一区二区三区四区高清视频 | 久久青草欧美一区二区三区| 日韩精品欧美一区二区三区| 男人天堂手机在线| 少妇高潮一区二区三区99| 亚洲国产精品日韩专区av有中文| 久久成人国产精品| xxxxxx国产| 日本va欧美va精品发布| 97超碰人人模人人爽人人看| 五月天婷婷激情网| 成人欧美一区二区三区1314| 国产欧美日韩网站| 国产美女久久| 亚洲第一天堂无码专区| 快灬快灬一下爽蜜桃在线观看| 亚洲影视一区二区三区| 日本精品免费观看| 国产深喉视频一区二区| 久久日韩精品一区二区五区| 精品嫩模一区二区三区| 先锋欧美三级| 精品电影一区二区三区| 国产欧美小视频| 亚洲欧洲一区| 91麻豆桃色免费看| 蜜桃视频在线观看网站| 亚洲一区免费在线观看| 999精彩视频| 台湾佬综合网| 欧美区在线播放| 在线观看国产黄| 久久综合给合久久狠狠狠97色69| 法国空姐在线观看免费| 不卡亚洲精品| 日韩电影中文字幕av| 免费看一级大片| 日韩av中文字幕一区二区| 国产精品久久久久久久免费大片| 日本a在线播放| 色婷婷综合久久| 人妻av一区二区| 欧美成人嫩草网站| 国产欧美精品久久久| 日本成人一区| 精品久久久久久久久久久久久久| 免费黄色av网址| 亚洲人metart人体| 国产精品午夜一区二区欲梦| 国产小视频在线观看| 欧美日韩国产中文精品字幕自在自线| 亚洲熟女乱综合一区二区| 成人黄色av| 国产精品激情av电影在线观看| 日批视频在线播放| 亚洲国产一区二区视频| 国产精品99精品无码视亚| 亚洲欧美一区在线| 亚洲iv一区二区三区| 欧美激情黑人| 7777精品伊人久久久大香线蕉完整版| 一级片久久久久| 美女看a上一区| 一本久久a久久精品vr综合 | 国产福利成人在线| 深夜福利在线观看直播| 精品国产精品三级精品av网址| 在线中文字日产幕| 91久久夜色精品国产九色| 国产区日韩欧美| 蜜桃视频在线网站| 国产丝袜视频一区| 男人天堂视频在线| 中文字幕 久热精品 视频在线 | 久久精品国产亚洲AV无码麻豆 | 右手影院亚洲欧美| 玖玖在线精品| 日韩一区免费观看| 国产精品xnxxcom| 欧美日韩国产二区| 少妇一区二区三区四区| 欧美日韩一区二区三区在线免费观看| 中国美女乱淫免费看视频| 久久午夜精品一区二区| 图片区小说区区亚洲五月| 99精品视频在线免费播放| 欧美老妇交乱视频| 日韩欧美电影在线观看| 欧美午夜精品一区二区蜜桃| 婷婷社区五月天| 国产mv日韩mv欧美| 国产精品丝袜久久久久久消防器材| 九九久久婷婷| 91久久国产综合久久91精品网站| 日韩激情av| 精品亚洲永久免费精品| 亚洲午夜精品久久久| 依依成人精品视频| 亚洲熟妇无码av| 国精品**一区二区三区在线蜜桃| 视频一区二区视频| 欧美韩一区二区| 国产精品免费久久久| 最新国产在线拍揄自揄视频| 亚洲精品videossex少妇| 欧美 亚洲 另类 激情 另类| 亚洲精品欧美综合四区| 性久久久久久久久久| 久久国产欧美日韩精品| 黄网站欧美内射| 日韩欧美精品综合| 国产一区二区高清视频| 成人午夜sm精品久久久久久久| 九九热最新视频//这里只有精品| 日韩精品视频无播放器在线看 | 无套内谢丰满少妇中文字幕| 99在线观看免费视频精品观看| 亚洲欧美国产精品桃花| avtt综合网| 国产美女91呻吟求| 两个人看的在线视频www| 精品激情国产视频| 欧美人体大胆444www| 日韩免费性生活视频播放| 黄色av网站免费| 亚洲成人综合视频| 99热这里只有精品4| 91看片淫黄大片一级在线观看| 免费网站在线观看黄| 久久一区视频| 亚洲人精品午夜射精日韩| 香蕉精品视频在线观看| 日韩videos| 香蕉久久夜色精品国产更新时间 | 精品乱子伦一区二区| 欧洲日韩一区二区三区| 日韩精品久久久久久久| 亚洲摸摸操操av| 免费看的黄色录像| 久久蜜桃av一区精品变态类天堂| 国产吃瓜黑料一区二区| 精品午夜一区二区三区在线观看| 免费日韩视频在线观看| 最新国产乱人伦偷精品免费网站| 欧美性受xxxx黑人猛交88| 欧美自拍偷拍| 清纯唯美一区二区三区| 国产精品极品国产中出| 97se在线视频| 亚洲爽爆av| 国产女人18毛片水18精品| 成人黄色视屏网站| 国产精品久久久久久久久久| 欧美男体视频| 欧美一区二区三区四区在线| av手机在线观看| 欧美精品九九久久| 国产三线在线| 久久久伊人欧美| 182在线播放| 午夜精品久久久久久久久久久久| 日本精品600av| 久久久久久久久爱| 极品国产91在线网站| 免费看黄色一级视频| 88国产精品视频一区二区三区| 国产在线欧美日韩| 91精品尤物| 国产精品日本一区二区| 日韩欧美高清一区二区三区| 亚洲最大av在线| 色播一区二区| 国产成人免费电影| 哺乳挤奶一区二区三区免费看| 色国产精品一区在线观看| 中文字幕手机在线观看| 一区二区三区四区中文字幕| 久久久久97国产| 亚洲线精品一区二区三区八戒| 国产在线一二区| 亚洲v日本v欧美v久久精品| 中文字幕亚洲高清| 色八戒一区二区三区| 一级片视频播放| 日韩久久精品一区| 婷婷婷国产在线视频| 在线观看免费高清视频97| 在线播放免费av| 97香蕉久久夜色精品国产| 偷拍精品精品一区二区三区| 国产美女久久精品香蕉69| 麻豆国产一区二区三区四区| 精品日韩电影| 日韩在线观看| 日韩网站在线免费观看| 久久夜色精品| 在线观看一区二区三区视频| 99国产精品视频免费观看| 摸摸摸bbb毛毛毛片| 亚洲女子a中天字幕| 久草手机在线视频| 欧美精品自拍偷拍动漫精品| 亚洲第一成年人网站| 亚洲另类图片色| 免费av在线网址| 91国内免费在线视频| 成人综合网站| 激情小说综合网| 天天做天天爱综合| 亚欧无线一线二线三线区别| 麻豆精品视频在线观看视频| xfplay5566色资源网站| 欧美极品aⅴ影院| 久久久久久久黄色| 91精品91久久久中77777| 亚洲AV无码精品自拍| 综合激情国产一区| 蜜桃麻豆影像在线观看| 91久久精品美女高潮| 欧美激情在线免费| 99er在线视频| 久久草av在线| 色哟哟精品观看| 亚洲另类一区二区| 中文字幕人妻一区二区在线视频| 亚洲а∨天堂久久精品9966| 色网站免费在线观看| 日本精品一区二区三区在线播放视频 | 韩国女主播一区二区三区| 亚洲欧洲国产精品久久| 国产欧美日本| 天堂va欧美va亚洲va老司机| 国产精品久久看| 成人公开免费视频| 亚洲国产成人久久| 色a资源在线| 成人精品视频久久久久| 精品视频久久| 欧美牲交a欧美牲交aⅴ免费下载| 国产成人精品影院| 91杏吧porn蝌蚪| 欧美精品日韩综合在线| 国产永久免费高清在线观看视频| 97香蕉超级碰碰久久免费软件| 成人盗摄视频| 免费的一级黄色片| 国产乱子伦一区二区三区国色天香| 成年人看的免费视频| 在线观看国产日韩| 蜜桃成人在线视频| 全球成人中文在线| 天堂成人娱乐在线视频免费播放网站 | 国产精品国内免费一区二区三区| 亚欧在线免费观看| 国产午夜亚洲精品理论片色戒 | 国产美女精品在线观看| 午夜国产精品视频免费体验区| www.久久av.com| 国产精品久久久久久久第一福利| 国产真人无遮挡作爱免费视频| 亚洲男女性事视频| 芒果视频成人app| 免费中文日韩| 久久激情久久| 91网站免费视频| 欧美亚洲禁片免费| 在线观看免费网站黄| 91精品国产综合久久香蕉| 99久久夜色精品国产亚洲狼 | 99国产精品久久久久| 国产99久久久| 一区二区三区四区精品| 国产福利91精品一区二区| 在线视频精品一区| 国产一区二区在线看| 久久久久久久中文字幕| 亚洲国产97在线精品一区| 在线成人av观看| 日韩精品伦理第一区| 精品亚洲欧美一区| 久久97人妻无码一区二区三区| 精品第一国产综合精品aⅴ| 少妇视频在线观看| 色狠狠久久av五月综合| 狠狠色丁香婷婷综合| 国产精品白嫩白嫩大学美女| 亚洲国产精品久久久久秋霞不卡| 女人高潮被爽到呻吟在线观看| 你懂的网址一区二区三区| 久久精品国产99久久6| 欧美精品入口蜜桃| 亚洲免费一在线| 爱情电影网av一区二区| 国产av人人夜夜澡人人爽麻豆| 91蝌蚪porny九色| 国产三级午夜理伦三级| 97成人超碰免| 999精品一区| 私密视频在线观看| 欧美色图免费看| 蜜臀av在线| 色综合666| 成人爱爱电影网址| 天天综合久久综合| 欧美极品少妇与黑人| 红桃成人av在线播放| 四虎国产精品免费| 欧美综合在线视频| heyzo在线欧美播放| 在线观看日本一区| 91在线视频免费观看| 国产美女无遮挡永久免费| 欧美在线视频一区二区| 欧美在线免费| jizz中文字幕|