<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Vue 正式釋出了 2.7 版本, 版本名稱為 Naruto,即火影忍者。
儘管現在 Vue 3 是預設版本,但由於仍有許多使用者由於依賴相容性、瀏覽器支援要求或沒有足夠的頻寬升級而不得不繼續使用 Vue 2。在 Vue 2.7 中,從 Vue 3 向後移植了一些最重要的功能,以便 Vue 2 使用者也可以從中受益。
此外,還支援以下 API:
defineComponent()
:具有改進的型別推斷(與Vue.extend
相比);h()
、useSlot()
、useAttrs()
、useCssModules()
;set()
、del()
和 nextTick()
在 ESM 構建中也作為命名匯出提供。Vue 2.7 還支援在模板表示式中使用 ESNext 語法。使用構建系統時,編譯後的模板渲染函數將通過為普通 JavaScript 設定的相同 loaders / plugins
。這意味著如果為.js
檔案設定了 Babel,它也將應用於 SFC 模板中的表示式。
import Vue, { ref } from 'vue' Vue.ref // undefined, 改用命名匯出
Composition API 使用 Vue 2 的基於 getter/setter
的響應式系統進行反向移植,以確保瀏覽器相容性。 這意味著與 Vue 3 的基於 proxy
的系統存在一些重要的行為差異:
reactive()
、ref()
和 shallowReactive()
將直接轉換原始物件而不是建立代理:// 在2.7中可行,在3.x中不可行 reactive(foo) === foo
readonly()
確實建立了一個單獨的物件,但它不會跟蹤新新增的屬性並且不適用於陣列;reactive()
中使用陣列作為 root
值,因為如果沒有屬性存取,則不會跟蹤陣列的變化(這將導致警告);symbol
鍵的屬性。此外,以下功能是未移植的:
createApp()
(Vue 2 沒有獨立的應用範圍)<script setup>
中的頂層 await(Vue 2 不支援非同步元件初始化)options
元件不支援 expose
選項(但 <script setup>
支援 defineExpose()
)。(1)將本地 @vue/cli-xxx
依賴項升級到主要版本範圍內的最新版本(如果適用):
(2)將 Vue 升級到 ^2.7.0。 還可以從依賴項中刪除 vue-template-compiler
,因為在 2.7 中不再需要它。注意:如果正在使用 @vue/test-utils
,可能需要暫時將它保留在依賴項中,但是這個要求也將在新版本的 Test Utils 中被取消。
(3)檢查包管理器 lock
檔案以確保以下依賴項滿足版本要求。 它們可能是 package.json
中未列出的傳遞依賴項:
如果沒有,需要刪除 node_modules
和 lock
檔案並重新安裝,以確保它們升級到最新版本。
(4)如果之前使用過 @vue/composition-api
,請將其匯入更新為 vue。 注意,外掛匯出的一些 API,例如 createApp
,未在 2.7 中移植。
(5)如果在使用 <script setup>
時遇到未使用的變數的 lint
錯誤,請將 eslint-plugin-vue
更新到最新版本 (9+)。
(6)Vue 2.7 的 SFC 編譯器現在使用 PostCSS 8。 PostCSS 8 應該向後相容大多數外掛,但如果以前使用只能與 PostCSS 7 一起使用的自定義 PostCSS 外掛,升級可能會導致問題。在這種情況下,需要將相關外掛升級到與 PostCSS 8 相容的版本。
Vue2.7 對 Vite 的支援是通過一個新外掛提供的:@vitejs/plugin-vue2。這個新外掛需要 Vue 2.7 或更高版本並取代現有的 vite-plugin-vue2。
注意,新外掛不處理特定於 Vue 的 JSX / TSX transform
,這是有意的。 Vue 2 JSX / TSXtransform
應該在一個單獨的專用外掛中處理,該外掛將很快提供。
Vue 2.7 提供了改進的型別定義,因此不再需要安裝 @vue/runtime-dom
來支援 Volar 模板型別推斷。 現在只需要在 tsconfig.json
中進行以下設定:
{ // ... "vueCompilerOptions": { "target": 2.7 } }
Vue Devtools 6.2.0 增加了對檢查 2.7 Composition API 狀態的支援,但擴充套件可能仍需要幾天時間在各個釋出平臺上通過稽核。
Vue 2.7 是 Vue 2.x 的最終次要版本。 在這個版本之後,Vue 2 進入了 LTS(長期支援),從現在開始持續 18 個月,並且將不再接收新功能。這意味著 Vue 2 將在 2023 年底結束其生命週期。這應該為大多數生態系統遷移到 Vue 3 提供充足的時間。
在準備此版本時,Vue 團隊將 Vue 2 程式碼庫從 Flow 移植到了 TypeScript,這是基於核心團隊成員 @pikax
的努力。 這樣更容易重用 Vue 3 中的程式碼,併為移植的 API 自動生成型別定義。 除此之外,還將單元測試從 Karma + Jasmine 移至 Vitest,從而大大提高了維護 DX 和 CI 的穩定性。
翻譯原文 https://blog.vuejs.org/posts/vue-2-7-naruto.html
以上就是代號為Naruto的Vue 2.7正式釋出功能詳解的詳細內容,更多關於Vue2.7 Naruto功能的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45