AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

Vite 是什么(并且為什么如此流行)?

來源: 責編: 時間:2024-06-05 17:40:36 162觀看
導讀在Web開發的大千世界里,想要不聽到關于Vite[1]的討論,那可真是難上加難。自2020年4月發布以來,Vite的人氣就像坐了火箭一樣直線上升。截至寫這篇文章的時候,這個項目在GitHub上已經獲得了超過64k的star,并且在每周的npm下

在Web開發的大千世界里,想要不聽到關于Vite[1]的討論,那可真是難上加難。QWh28資訊網——每日最新資訊28at.com

自2020年4月發布以來,Vite的人氣就像坐了火箭一樣直線上升。截至寫這篇文章的時候,這個項目在GitHub上已經獲得了超過64k的star,并且在每周的npm下載量上超過了1200萬,現在它支持著大多數開源框架,比如Nuxt[2]、SvelteKit[3]、Astro[4]、SolidStart[5]和Remix[6](這只是冰山一角)。QWh28資訊網——每日最新資訊28at.com

如果你想了解Vite的歷史,推薦你觀看Evan You在ViteConf 2022上的主旨演講[7]。QWh28資訊網——每日最新資訊28at.com

盡管Vite聲名鵲起,但我們意識到許多開發者可能仍然不熟悉Vite是什么,或者它在推動現代Web框架和工具開發中扮演的關鍵角色。QWh28資訊網——每日最新資訊28at.com

在這篇文章中,我們將為你提供一個關于Vite的入門指南,以及它是如何在短短幾年內成長為現代Web的中堅力量。QWh28資訊網——每日最新資訊28at.com

Vite是什么?

Vite的發音是/vit/,在法語中意味著“快速”或“迅速”,而且Vite絕對不負其名。QWh28資訊網——每日最新資訊28at.com

簡單來說,Vite[8]是一個現代JavaScript構建工具,它為常見的Web模式提供了開箱即用的支持,提供了優化的構建,結合了rollup[9]的靈活性和成熟度,以及由esbuild[10]實現的快速無捆綁開發服務器和原生ES模塊。QWh28資訊網——每日最新資訊28at.com

Vite由Vue.js[11]的創造者Evan You[12]構思,目的是通過減少開發者在啟動開發服務器和文件編輯后處理重新加載時遇到的瓶頸來簡化打包過程。QWh28資訊網——每日最新資訊28at.com

Vite的核心特性

當你運行Vite時,你會注意到的第一個不同是開發服務器幾乎是瞬間啟動的。你可以訪問vite.new[13]并親眼見證。這是因為Vite采用了按需服務的方式來將你的應用程序提供給瀏覽器。Vite不是首先打包整個源代碼,而是根據瀏覽器的請求,實時將你編寫的模塊轉換為瀏覽器能夠理解的原生ESM模塊。Vite開箱即支持TypeScript、PostCSS、CSS預處理器、JSON、WASM等,并且可以通過不斷增長的插件生態系統擴展來支持你所有喜愛的框架和工具。QWh28資訊網——每日最新資訊28at.com

在開發過程中,每當你在項目中更改任何文件時,Vite都會使用應用程序的模塊圖只熱重載受影響的模塊(HMR)。這允許開發者預覽他們的更改以及這些更改對應用程序的影響。Vite HMR的速度非常快,以至于可以允許編輯器自動保存,獲得類似于在瀏覽器開發工具中修改CSS時的反饋循環。QWh28資訊網——每日最新資訊28at.com

Vite還執行依賴預打包。在開發過程中,它使用esbuild捆綁你的依賴項并將它們緩存起來,以加快未來的服務器啟動速度。這個優化步驟還有助于加快加載時間,特別是對于導出許多小模塊的依賴項(如lodash),因為瀏覽器每個依賴項只加載幾個塊而不是多個。它還允許Vite支持CommonJS和UMD代碼中的依賴項,因為它們被捆綁成原生ESM模塊。QWh28資訊網——每日最新資訊28at.com

當你準備部署時,Vite將使用優化的Rollup設置構建你的應用程序。它執行CSS代碼拆分,添加預加載指令,并優化異步塊的加載,無需任何配置。Vite提供了一個通用的與Rollup兼容的插件API,適用于開發和生產,使其更容易擴展和自定義你的構建過程。QWh28資訊網——每日最新資訊28at.com

使用Vite的好處

使用Vite有幾個關鍵好處[14]。以下是我們最喜歡的一些:QWh28資訊網——每日最新資訊28at.com

開源和獨立

Vite是由一群開源開發者開發的,由來自不同背景的開發團隊[15]帶頭。Vite核心倉庫最近已經超過900個貢獻者。它正在積極開發和維護,新功能不斷實現,漏洞也在穩定地得到修復。這也意味著不斷發展的功能集反映了大量多樣化產品的真實應用需求的交叉部分。QWh28資訊網——每日最新資訊28at.com

快速的本地開發

開發體驗(DX)是Vite的核心,每次保存時你都能感受到它。我們常常認為重新加載的速度是理所當然的。但隨著你的應用程序增長,重新加載速度逐漸變慢,你會感激Vite保持(幾乎)即時重新加載的能力,無論應用程序大小如何。QWh28資訊網——每日最新資訊28at.com

廣泛的生態系統支持

Vite的方法受到了非常好的接受,大多數框架和工具默認使用Vite或提供一流的支持。通過選擇Vite作為構建工具,這些項目的維護者可以在它們之間共享一個共同的基礎,并隨著時間的推移共同改進它。因此,他們可以花更多的時間開發用戶需要的功能,而不是重新發明輪子。QWh28資訊網——每日最新資訊28at.com

這對每個人都是雙贏的。QWh28資訊網——每日最新資訊28at.com

易于擴展

Vite對Rollup插件API的賭注得到了回報。插件允許下游項目共享Vite核心提供的功能。有許多高質量的插件可供使用,如vite-plugin-pwa[16]和vite-imagetools[17]。QWh28資訊網——每日最新資訊28at.com

框架構建難題中的重要一塊

Vite是現代元框架正在構建的大塊之一。它是正在采取類似路徑的更大工具生態系統的一部分。Volar[18]是StackBlitz團隊自豪支持的另一個工具。它為自定義編程語言(如Vue、MDX和Astro)提供了在代碼編輯器中構建堅實且高效編輯體驗所需的工具。它允許框架為其用戶提供懸停信息、診斷和自動補全等功能,共享Volar作為共同基礎來為它們提供動力。另一個絕佳的例子是Nitro[19],一個服務器工具包,用于創建支持每個主要部署平臺的全功能Web服務器。它是一系列框架無關的庫UnJS[20]的一部分。還有Dev Toolkit[21],這是一個新的努力,旨在為框架開發工具共享一個共同的基礎。QWh28資訊網——每日最新資訊28at.com

開始使用Vite

對于像StackBlitz和Vite這樣的工具,理解它們為何不同最好的方式就是親自嘗試。Vite在StackBlitz中得到了全面支持[22],這使得創建按需環境變得輕而易舉。Vite團隊使用StackBlitz來驅動其在線啟動器[23]。點擊你最喜歡的框架,編輯一些組件,看看Vite是如何工作的。QWh28資訊網——每日最新資訊28at.com

使用Vite開發

在使用Vite開發時,你可以運行三個命令。QWh28資訊網——每日最新資訊28at.com

  • vite dev 啟動Vite開發服務器(當你在StackBlitz中打開Vite項目時,它會自動為你啟動)
  • vite build 準備生產構建
  • vite preview 允許你預覽你構建的網站或應用程序

確保在運行vite preview之前運行vite build,以查看你的更改。QWh28資訊網——每日最新資訊28at.com

Vite的未來

在最近的ViteConf主題演講[24]中,Evan分享了盡管Vite正在取得巨大進步,但項目仍面臨一些已知的問題和挑戰。QWh28資訊網——每日最新資訊28at.com

正如我們之前討論的,Vite目前使用Rollup進行生產構建。這并不像esbuild或Bun這樣的原生打包器那樣快。Vite還盡可能地減少了開發環境和生產環境之間的不一致性,但由于Rollup和esbuild之間的差異,一些不一致性是不可避免的。QWh28資訊網——每日最新資訊28at.com

Evan現在帶領一個新團隊開發Rolldown[25],這是一款基于Rust的Rollup端口,建立在OXC[26](JavaScript氧化編譯器)之上,力求與Rollup兼容。這個想法是用Rolldown替換Vite中的Rollup和esbuild。Vite將擁有一個單一的基礎,結合了Rollup的靈活性和esbuild的速度,消除了不一致性,使代碼庫更易于維護,并加快了構建時間。QWh28資訊網——每日最新資訊28at.com

Rolldown目前還處于早期階段,但已經顯示出了有希望的結果。該項目現在已開源,Rolldown團隊正在尋找貢獻者來幫助實現這一愿景。QWh28資訊網——每日最新資訊28at.com

與此同時,Vite團隊在每個版本中都在不斷改進Vite。由Vitest[27]和Nuxt Dev SSR[28]驅動的引擎vite-node[29]的工作已經開始,演變成Vite API的全面修訂,面向框架作者。新的環境API[30]預計將在Vite v6中發布,它將成為自Vite 2發布以來Vite最大的變化之一。它將允許在任何數量的環境中通過Vite插件管道運行代碼,解鎖了對workers、RSC等的一級支持。QWh28資訊網——每日最新資訊28at.com

總結

Vite正在開辟一條前進的道路,并且正在迅速成為JavaScript生態系統中的標準構建工具。QWh28資訊網——每日最新資訊28at.com

StackBlitz很自豪能夠成為Vite的支持者,我們期待看到2024年項目如何發展!QWh28資訊網——每日最新資訊28at.com

今天就試試https://vite.new[31],并關注更多Vite相關新聞[32]。QWh28資訊網——每日最新資訊28at.com

本文譯自:https://blog.stackblitz.com/posts/what-is-vite-introduction/QWh28資訊網——每日最新資訊28at.com

Reference

[1]Vite: https://vitejs.dev/QWh28資訊網——每日最新資訊28at.com

[2]Nuxt: https://nuxt.com/QWh28資訊網——每日最新資訊28at.com

[3]SvelteKit: https://kit.svelte.dev/QWh28資訊網——每日最新資訊28at.com

[4]Astro: https://astro.build/QWh28資訊網——每日最新資訊28at.com

[5]SolidStart: https://start.solidjs.com/QWh28資訊網——每日最新資訊28at.com

[6]Remix: https://remix.run/QWh28資訊網——每日最新資訊28at.com

[7]Evan You在ViteConf 2022上的主旨演講: https://viteconf.org/23/replay/vite_keynoteQWh28資訊網——每日最新資訊28at.com

[8]Vite: https://vitejs.dev/guide/QWh28資訊網——每日最新資訊28at.com

[9]rollup: https://rollupjs.org/QWh28資訊網——每日最新資訊28at.com

[10]esbuild: https://esbuild.github.io/QWh28資訊網——每日最新資訊28at.com

[11]Vue.js: https://vuejs.org/QWh28資訊網——每日最新資訊28at.com

[12]Evan You: https://twitter.com/youyuxiQWh28資訊網——每日最新資訊28at.com

[13]vite.new: https://vite.new/QWh28資訊網——每日最新資訊28at.com

[14]關鍵好處: https://vitejs.dev/guide/why.htmlQWh28資訊網——每日最新資訊28at.com

[15]開發團隊: https://vitejs.dev/teamQWh28資訊網——每日最新資訊28at.com

[16]vite-plugin-pwa: https://vite-pwa-org.netlify.app/QWh28資訊網——每日最新資訊28at.com

[17]vite-imagetools: https://github.com/JonasKruckenberg/imagetools/tree/main/packages/viteQWh28資訊網——每日最新資訊28at.com

[18]Volar: https://volarjs.dev/QWh28資訊網——每日最新資訊28at.com

[19]Nitro: https://nitro.unjs.io/QWh28資訊網——每日最新資訊28at.com

[20]UnJS: https://unjs.io/QWh28資訊網——每日最新資訊28at.com

[21]Dev Toolkit: https://www.youtube.com/watch?v=E6kTiIbU3N8QWh28資訊網——每日最新資訊28at.com

[22]全面支持: https://blog.stackblitz.com/posts/vite-new-templates/QWh28資訊網——每日最新資訊28at.com

[23]在線啟動器: https://vitejs.dev/guide/#trying-vite-onlineQWh28資訊網——每日最新資訊28at.com

[24]最近的ViteConf主題演講: https://viteconf.org/23/replay/vite_keynoteQWh28資訊網——每日最新資訊28at.com

[25]Rolldown: https://chat.rolldown.rs/QWh28資訊網——每日最新資訊28at.com

[26]OXC: https://oxc-project.github.io/QWh28資訊網——每日最新資訊28at.com

[27]Vitest: https://vitest.dev/QWh28資訊網——每日最新資訊28at.com

[28]Nuxt Dev SSR: https://antfu.me/posts/dev-ssr-on-nuxtQWh28資訊網——每日最新資訊28at.com

[29]vite-node: https://github.com/vitest-dev/vitest/tree/main/packages/vite-node#readmeQWh28資訊網——每日最新資訊28at.com

[30]環境API: https://github.com/vitejs/vite/discussions/16358QWh28資訊網——每日最新資訊28at.com

[31]https://vite.new: https://vite.new/QWh28資訊網——每日最新資訊28at.com

[32]Vite相關新聞: https://blog.stackblitz.com/tags/vite/QWh28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-92109-0.htmlVite 是什么(并且為什么如此流行)?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python 實現命令模式、中介者模式和解釋器模式

下一篇: 成功實施 Data Mesh 的十條指導建議

標簽:
  • 熱門焦點
  • 一加Ace2 Pro真機揭曉 鈦空灰配色質感拉滿

    終于,在經過了幾波預熱之后,一加Ace2 Pro的外觀真機圖在網上出現了。還是博主數碼閑聊站曝光的,這次的外觀設計還是延續了一加11的方案,只是細節上有了調整,例如新加入了鈦空灰
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 太卷!Redmi MAX 100英寸電視便宜了:12999元買Redmi史上最大屏

    8月5日消息,從小米商城了解到,Redmi MAX 100英寸巨屏電視日前迎來官方優惠,到手價12999元,比發布價便宜了7000元,在大屏電視市場開卷。據了解,Redmi MAX 100
  • K6:面向開發人員的現代負載測試工具

    K6 是一個開源負載測試工具,可以輕松編寫、運行和分析性能測試。它建立在 Go 和 JavaScript 之上,它被設計為功能強大、可擴展且易于使用。k6 可用于測試各種應用程序,包括 Web
  • 從 Pulsar Client 的原理到它的監控面板

    背景前段時間業務團隊偶爾會碰到一些 Pulsar 使用的問題,比如消息阻塞不消費了、生產者消息發送緩慢等各種問題。雖然我們有個監控頁面可以根據 topic 維度查看他的發送狀態,
  • Temu起訴SHEIN,跨境電商戰事升級

    來源 | 伯虎財經(bohuFN)作者 | 陳平安日前據外媒報道,拼多多旗下跨境電商平臺Temu正對競爭對手SHEIN提起新訴訟,訴狀稱Shein“利用市場支配力量強迫服裝廠商與之簽訂獨家
  • 共享單車的故事講到哪了?

    來源丨海克財經與共享充電寶相差不多,共享單車已很久沒有被國內熱點新聞關照到了。除了一再漲價和用戶直呼用不起了。近日多家媒體再發報道稱,成都、天津、鄭州等地多個共享單
  • 華為和江淮汽車合作開發百萬元問界MPV?雙方回應來了

    8月1日消息,郭明錤今天在社交平臺發文稱,華為正在和江淮汽車合作,開發售價在100萬元的問界MPV,預計在2024年第2季度量產,銷量目標為上市首年交付5萬輛。
  • Android 14發布:首批適配機型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會,本次發布會谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機,同時發布了Androi
Top