正在海邊浪的思否小姐姐一覺睡醒發現,國慶假期都不休息的尤雨溪大大在昨天凌晨釋出了 Vue 3 原始碼,原始碼地址:https://github.com/vuejs/vue-... ——
作者表示,目前 Vue 3 依然是 Pre-Alpha 狀態,但主要的架構改進、優化和新功能都已經完成,剩下的主要是完成一些 Vue 2 現有功能的移植。
正式版本的釋出時間尚未提及,後面應該還會有 Alpha、Beta 等版本。根據 Vue 官方時間表,至少要等到 2020 年 Q1 才有可能釋出 3.0 正式版。
通過本次釋出的原始碼可以瞭解到針對 Vue 3 計劃並已實現的主要架構改進和新功能:
- 編譯器(Compiler)
- 使用模組化架構
- 優化 "Block tree"
- 更激進的 static tree hoisting 功能
- 支援 Source map
- 內建識別符號字首(又名 "stripWith")
- 內建整齊列印(pretty-printing)功能
- 移除 source map 和識別符號字首功能後,使用 Brotli 壓縮的瀏覽器版本精簡了大約 10KB
- 執行時(Runtime)
- 速度顯著提升
- 同時支援 Composition API 和 Options API,以及 typings
- 基於 Proxy 實現的資料變更檢測
- 支援 Fragments
- 支援 Portals
- 支援 Suspense w/ async setup()
- 最後,還有一些 2.x 的功能尚未移植過來:
- 伺服器端渲染
- <keep-alive>
- <transition>
- Compiler DOM-specific transforms
v-on DOM 修飾符
v-model
v-text
v-pre
v-once
v-html
v-show
此外,目前釋出的 Pre-Alpha 版本打包後的程式碼是 ES2015+,尚未支援 IE11。
思否小姐姐 溫馨提示
現在是閱讀 Vue 3 原始碼的好時機——目前程式碼結構清晰,且程式碼量相對較少(主體部分的程式碼量僅 1.1W 行)。Vue 3 程式碼主要使用 TypeScript 編寫,大家可以抓緊時間學(學)習(不)起(動)來(了)了!