首頁>技術>

歷經八個月時長的開發,Vant 3.0 現已正式釋出。官方表示,在本次迭代中,其主要工作是基於 Vue 3 重構整個程式碼倉庫和周邊生態,併發布 Vant 3.0、Vant Cli 3.0 和 Vant Use 1.0。 具體更新內容如下:

全面擁抱 Vue 3

Vue 3 帶來了許多新特性,比如 Composition API、emits Option 和 Teleport。Vant 3.0 全面擁抱了 Vue 3 帶來的各種變化,完成下列改造:

使用 Composition API 重構所有元件使用 Composition API 重寫所有文件和示例元件增加 emits 選項,提供更好的事件提示移除所有 mixins,提升程式碼可讀性所有彈窗類元件支援 teleport 屬性

重構完成後,元件之間可以基於 Composition API 進行邏輯複用,程式碼的可壓縮性也有所提升。與 Vant 2.12 版本進行對比,可以看到 Vant 3.0 的 JS 體積下降了 16.6%,Gzip 後體積下降至 67.5kb。

新元件:Vant 2、Vant 3 同步供應

Vant 3.0 中包含 3 個全新的元件,分別是:

Badge 徽標:用於在右上角展示徽標數字或小紅點。Popover 氣泡彈出框:彈出式的氣泡選單元件。Cascader 級聯選擇器:用於多層級資料的選擇,典型場景為省市區選擇。

考慮到大部分開發者仍然在使用 Vue 2 進行開發,開發團隊在 Vant 2 中同步實現了以上三個元件,使用者可以升級到 Vant 2.12 版本進行使用。

Vant Use:新夥伴

Vant Use 從 Vant 中沉澱出的 Composition API 庫。除了提供常用的 Composition API 外,Vant Use 也會將某些元件的邏輯抽離出來,讓開發者在使用元件邏輯的同時,能夠完全自定義元件的展現形式。

示例如下:將 CountDown 元件的倒計時邏輯抽象為 useCountDown 方法,功能與 CountDown 元件基本等價,但使用起來更加靈活,可以自定義倒計時的 UI 樣式,或者透過 computed 對倒計時進行預處理。

目前,Vant Use 仍然處於早期階段。官方表示,在未來的演進過程中,其會繼續抽離 Vant 元件內部的通用邏輯,並下沉到 Vant Use 中。

Vant Cli 3.0:更新,更快

Vant Cli 是 Vant 底層的元件庫構建工具,透過 Vant Cli 可以快速搭建一套功能完備的 Vue 元件庫。Vant Cli 3.0 對所有底層依賴進行了大版本升級,在支援 Vue 3 的同時,提供更流暢的開發體驗。

升級 Vue 3、VueRouter 4、VueLoader 16升級 Webpack 5,開啟持久快取能力升級 Docsearch 3,全新的搜尋框樣式升級 TypeScript 4、ESLint 7

在建立 vant-cli 工程時,你可以自由選擇基於 Vue 2 或者 Vue 3 進行元件庫開發:

Vant Demo:2 個新的示例工程

Vant Demo 是 Vant 官方提供的示例工程合集,本次迭代中新增了 2 個示例工程,分別演示:

如何使用 Vue 3 + Vant 3 + Vue Cli 搭建應用如何使用 Vue 3 + Vant 3 + Vite 搭建應用

已有部分使用者開始使用 Vite 進行開發,但在使用 Vite 的過程中,關於如何在 Vite 中進行按需引入 Vant 元件的問題總是令人感到困惑。在 Vue Cli 中,可以透過 babel-plugin-import 外掛實現按需引入,但在 Vite 中無法使用該外掛。

官方表示,其實在 Vite 中無須考慮按需引入的問題。Vite 在構建程式碼時,會自動透過 Tree Shaking 移除未使用的 ESM 模組。而 Vant 3.0 內部所有模組都是基於 ESM 編寫的,天然具備按需引入的能力。現階段遺留的問題是,未使用的元件樣式無法被 Tree Shaking 識別並移除,後續其會考慮透過 Vite 外掛的方式進行支援。

升級

同時,Vant 的 npm latest 標籤也保持在 v2 版本,這意味著使用 npm install vant 命令仍會安裝 Vant 2,而安裝 Vant 3 需要使用 npm install vant@next 命令。官方稱,在 Vue 的預設文件版本和 npm 標籤切換為 v3 後,他們也會同步進行切換。 從現有 Vant 2 專案升級,請參考升級指南。

下一步計劃

在未來 6 ~ 12 個月內,開發團隊會保持 Vant 2 和 Vant 3 的功能同步更新。隨著 Vue 3 的普及,他們將會逐步降低 Vant 2 的維護頻率,並將工作重心轉移到 Vant 3 上。

21
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • centos7 shell指令碼一鍵安裝nginx