尤雨溪:Vue 3 將成為新的默認版本

過完年,大年初七,Vue3 將成為默認版本,這時感覺我之前寫的幾篇文章都可以抽空更新一版了。

尤雨溪推薦神器 ni ,能替代 npm/yarn/pnpm ?簡單好用!源碼揭秘!

Vue 3.2 發布了,那尤雨溪是怎么發布 Vue.js 的?

Vue 團隊公開快如閃電的全新腳手架工具,未來將替代 Vue-CLI,才300余行代碼,學它!

初學者也能看懂的 Vue3 源碼中那些實用的基礎工具函數

這些文章都在源碼共讀中,歡迎大家點此加我微信 ruochuan12 參與學習。

本文作者:尤雨溪
發布時間:2022-01-20
原文鏈接:https://zhuanlan.zhihu.com/p/460055155(可點擊閱讀原文查看)


劃重點:Vue 3 將在 2022 年 2 月 7 日成為新的默認版本!

請務必閱讀可能需要采取的措施[1]部分,來確認你是否需要在默認版本切換之前做相應改動以避免發生異常。

本文章開放授權,在注明原文地址,內容不做修改的前提下可以隨意轉載。

Markdown 源文件[2] | 英文原文[3]


1從庫到框架

在最開始的時候,Vue 僅僅是一個運行時庫。但這些年來,它已經逐步發展成了一個包含許多子項目的框架:

  • 核心庫,即 vue npm 包

  • 內容足夠當作一本書的文檔

  • 構建工具鏈(Vue CLI、Vue Loader 和其他支持包)

  • 用于構建單頁應用的路由 Vue Router

  • 用于狀態管理的 Vuex

  • 用于調試和分析的瀏覽器開發者工具擴展

  • 用于支持開發單文件組件的 VSCode 擴展 Vetur

  • 用于進行靜態風格/錯誤檢查的 ESLint 插件

  • 用于組件測試的 Vue Test Utils

  • 利用 Vue 運行時功能的定制 JSX Babel 插件

  • 用于靜態網站生成的 VuePress

正因為 Vue 是一個社區驅動的項目,才讓這一切成為可能。這些項目中的許多都是由社區成員發起,他們后來成為了 Vue 團隊的成員。其余的項目最初由我發起,但現在除了核心庫之外,幾乎都完全由團隊維護。

2Vue 3 的 “軟發布”

隨著核心庫發布新的大版本,框架的所有其他部分也需要一起同步更新。我們還需要為 Vue 2 用戶提供一個升級方案。對于 Vue 這樣一個社區驅動的團隊來說,這是一個巨大的工程。在 Vue 3 的核心庫完成的時候,框架的其他部分要么還在 beta 狀態,要么還沒有開始適配 Vue 3。當時我們的決定是先發布核心庫,這樣早期用戶可以先用起來,庫和上層框架的開發者也可以先適配起來,而我們則繼續更新框架的其余部分。

在這個過程中,我們依然將 Vue 2 保留為文檔和 npm 安裝時的默認版本。這是因為我們知道對于大部分用戶來說,在 Vue 3 的其余部分完善以前,Vue 2 仍然提供了更一致且完整的體驗。

3嶄新的 Vue

“軟發布” 的過程比預期要長,但這個時刻終于到了:我們很高興地宣布,Vue 3 將在 2022 年 2 月 7 日成為新的默認版本。

除了 Vue 核心庫以外,我們還幾乎改進了框架的每個方面。

  • 基于 Vite[4] 的極速構建工具鏈

  • <script setup> 帶來的開發體驗更絲滑的組合式 API 語法

  • Volar[5] 提供的單文件組件 TypeScript IDE 支持

  • vue-tsc[6] 提供的針對單文件組件的命令行類型檢查和生成

  • Pinia[7] 提供的更簡潔的狀態管理

  • 新的開發者工具擴展,同時支持 Vue 2/Vue 3,并且提供一個插件系統[8]來允許社區庫自行擴展開發者工具面板。

我們還徹底重寫了主文檔。全新的 vuejs.org[9] (目前處于待發布狀態,中文版[10]的翻譯還在進行中) 將提供最新的框架概述與開發建議、針對不同背景的用戶的靈活的學習路徑,在整個指南與示例中都能夠在選項式 API 和組合式 API 之間進行切換,以及許多新的深入章節。新文檔本身的網站性能也非常優秀——我們將在不久后的另一篇博文中詳細探討一下。

4版本切換細節

下面是我們所說的“新的默認版本”的具體細節。此外,請閱讀可能需要采取的措施[11]部分,來確認你是否需要在默認版本切換之前做相應改動以避免發生異常。

npm 發布標簽

  • npm install vue 將默認安裝 Vue 3。

  • 所有其他官方 npm 包的 latest 發布標簽將指向其 Vue 3 的兼容版本,包括 vue-routervuexvue-loader@vue/test-utils

官方文檔與站點

所有的文檔和官方站點將默認切換到 Vue 3 版本。包括:

  • vuejs.org

  • router.vuejs.org

  • vuex.vuejs.org

  • vue-test-utils.vuejs.org (將遷移到 test-utils.vuejs.org)

  • template-explorer.vuejs.org

請注意,新的 vuejs.org 將是完全重寫的版本[12],而不是目前部署在 v3.vuejs.org 的版本。

這些站點當前的 Vue 2 版本將被遷移到新地址 (版本前綴表示庫的各自版本,而非 Vue 核心庫的版本):

  • vuejs.org -> v2.vuejs.org (舊的 v2 網址將自動重定向到新地址上)

  • router.vuejs.org -> v3.router.vuejs.org

  • vuex.vuejs.org -> v3.vuex.vuejs.org

  • vue-test-utils.vuejs.org -> v1.test-utils.vuejs.org

  • template-explorer.vuejs.org -> v2.template-explorer.vuejs.org

GitHub 倉庫

在寫這篇文章時,倉庫相關的變化已經生效了。

vuejs 組織下的所有 GitHub 倉庫將把默認分支切換到 Vue 3 對應的版本。此外,以下倉庫都將被重命名,以刪除其名稱中的 next

  • vuejs/vue-next -> `vuejs/core`[13]

  • vuejs/vue-router-next -> `vuejs/router`[14]

  • vuejs/docs-next -> `vuejs/docs`[15]

  • vuejs/vue-test-utils-next -> `vuejs/test-utils`[16]

  • vuejs/jsx-next -> `vuejs/babel-plugin-jsx`[17]

此外,主文檔的翻譯倉庫將被移至 `vuejs-translations` 組織[18]下。

GitHub 會自動處理倉庫的重定向,所以之前的源碼與 issue 問題的鏈接應該仍然有效。

開發者工具擴展

開發者工具 v6 目前是發布到 Chrome Web Store 的 beta 頻道[19]下的,在版本切換后,將移至穩定頻道[20]

目前的穩定頻道仍然可用。它將被遷移到遺留頻道[21]

5可能需要采取的措施 {#potential-required-actions}

使用未指定版本的 CDN 鏈接

如果你通過 CDN 鏈接使用 Vue 2 而沒有指定版本,請確保通過 @2 來指定一個版本范圍:

-?<script?src="https://unpkg.com/vue"></script>
+?<script?src="https://unpkg.com/vue@2"></script>-?<script?src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
+?<script?src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.min.js"></script>

注意:即使使用 Vue 3,你也應該始終在生產環境指定一個版本范圍,以避免意外地加載到未來的大版本。

npm latest 標簽

如果你使用 latest 標簽或 * 來從 npm 安裝 Vue 或其他官方庫,請更新為明確使用兼容 Vue 2 的版本:

{"dependencies":?{
-???"vue":?"latest",
+???"vue":?"^2.6.14",
-???"vue-router":?"latest",
+???"vue-router":?"^3.5.3",
-???"vuex":?"latest"
+???"vuex":?"^3.6.2"},"devDependencies":?{
-???"vue-loader":?"latest",
+???"vue-loader":?"^15.9.8",
-???"@vue/test-utils":?"latest"
+???"@vue/test-utils":?"^1.3.0"}
}

參考資料點擊閱讀原文

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274976.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274976.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274976.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

shell編程系列20--文本處理三劍客之awk常用選項

shell編程系列20--文本處理三劍客之awk常用選項awk選項總結選項 解釋 -v 參數傳遞 -f 指定腳本文件 -F 指定分隔符 -V 查看awk的版本號[rootlocalhost shell]# awk -v num2"$num1" -v var1"$var" BEGIN{print num2,var…

v-charts加載動畫_加載動畫-用戶體驗寫作練習

v-charts加載動畫Many new UX writers often struggle to find the balance between creativity and clarity. You can’t make everything fun/exciting/interesting as it can have an adverse effect on usability. But there are times when you can add a bit of flair.許…

linux 常用命令收集

關機&#xff1a;poweroff&#xff0c;shutdown -h now&#xff0c;init 0重啟&#xff1a;reboot&#xff0c;shutdown -r now&#xff0c;init 6 關閉x-window&#xff1a;init 3啟動x-window&#xff1a;init 5&#xff0c;start x1.終止命令&#xff1a;ctrlc 2.結束輸入…

34歲回顧人生,也怕中年危機!

大家好&#xff0c;我是若川。持續組織了5個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。最近發生一件令人感…

蛋花花APP,APP開發這幾點你要注意了

蛋花花君又來了&#xff0c;這次蛋花花君為大家分享的是APP開發過程中需要注意的幾點。 1、用戶體驗 程序猿蛋花花覺得&#xff0c;APP開發是為客戶來開發的&#xff0c;而不單單是為了老板&#xff0c;畢竟真正使用的是廣大用戶。APP的設計應該從用戶的角度出發&#xff0c;提…

svg動畫制作_制作第一個SVG動畫

svg動畫制作Story of a designer trying to code animations instead of asking a dev to figure it out.一位設計師嘗試編寫動畫代碼而不是要求開發人員弄清楚動畫的故事。 編碼動畫是Webdesign的未來 (Coded animations are the future of Webdesign) Because we have acces…

網站前端設計,從960框架開始

一個網站進入到前端設計階段&#xff0c;第一步肯定是為全站搭建一個統一的&#xff0c;基礎的HTML模型&#xff0c;在這里推薦一下我剛學習的960框架。960是一個CSS框架&#xff0c;你肯定在想&#xff0c;這個世界肯定是瘋了&#xff0c;連CSS都有框架了嗎&#xff0c;沒錯&a…

60+ 實用 React 工具庫,助力你高效開發!

大家好&#xff0c;我是若川。持續組織了5個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。最近看到一些實用的…

2012年12月第二個周末

2019獨角獸企業重金招聘Python工程師標準>>> 這周&#xff0c;裝上了windows版的 Linux版的oracle 熟悉了下SQL*PLUS的編程規則&#xff0c;還有常用的linux命令 看了一本《簡愛》 正在看oracle 轉載于:https://my.oschina.net/u/204616/blog/545513

『C#基礎』調用CMD的一個小工具

由于經常要使用CMD的一些命令&#xff0c;比如查看IP&#xff0c;Ping一個網址之類的。于是就寫了一個調用CMD.exe的小工具。 主要就是實現這樣一個事情&#xff1a;調用CMD.exe然后傳給它我想要執行的命令&#xff0c;最后獲取結果。 界面&#xff1a; 代碼&#xff1a; 主要執…

小姐姐:如何參與大型開源項目-Taro 共建

大家好&#xff0c;我是若川。持續組織了5個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。“本文來自前端程序…

JavaWeb學習總結(十七)——JSP中的九個內置對象

2019獨角獸企業重金招聘Python工程師標準>>> 一、JSP運行原理 每個JSP 頁面在第一次被訪問時&#xff0c;WEB容器都會把請求交給JSP引擎&#xff08;即一個Java程序&#xff09;去處理。JSP引擎先將JSP翻譯成一個_jspServlet(實質上也是一個servlet) &#xff0c;然…

C#網絡編程(異步傳輸字符串) - Part.3[轉自JimmyZhang博客]

源碼下載&#xff1a;http://www.tracefact.net/SourceCode/Network-Part3.rar C#網絡編程(異步傳輸字符串) - Part.3 這篇文章我們將前進一大步&#xff0c;使用異步的方式來對服務端編程&#xff0c;以使它成為一個真正意義上的服務器&#xff1a;可以為多個客戶端的多次請求…

chrome黑暗模式_黑暗模式:如何克服黑暗面

chrome黑暗模式This article has been written by Redmadrobot Design Lab. Translated and reposted with permission by Alconost Inc., professional translation and localization company.本文由 Redmadrobot設計實驗室 撰寫 。 經過 專業翻譯和本地化公司 Alconost Inc.的…

Deco 智能代碼體驗版正式上線啦,快來體驗設計稿一鍵生成代碼~

Deco 是什么&#xff1f;—Deco 智能代碼項目是我們團隊在「前端智能化」方向上的探索&#xff0c;其聚焦設計稿一鍵生成多端代碼這一切入點&#xff0c;實現將 Sketch/Photoshop 等設計稿進行解析并直接生成多端代碼&#xff08;Taro/React/Vue&#xff09;的能力。Deco 可以使…

jQuery 五角星評分

五角星打分 我用的是搜狗輸入法上帶的特殊符號打出來的 空五角星&#xff1a;☆ 實五角星&#xff1a;★ 1.html 1 <ul class"comment"> 2 <li>☆</li> 3 <li>☆</li> 4 <li>☆</li> 5 …

平面設計和網頁設計的規則_從平面設計到用戶界面:這是您應該知道的最重要的規則

平面設計和網頁設計的規則Maybe you’re here because you think UI Design is the future of Graphic Design. Maybe what motivates you is the money. Or maybe you just woke up one day and someone at work told you “So, you are a designer, right? Well, we need an…

即將到來的 ECMAScript 2022 新特性

大家好&#xff0c;我是若川。持續組織了5個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。ECMAScript 規范每…

代碼備忘錄

1.用指針&#xff0c;函數調用實現交換兩個變量值 #include<stdio.h> int exchange(int *a,int *b){ int temp; temp*a; *a*b; *btemp;return 0;} int main(){ int i9,j2; int *p1,*p2; p1&i; p2&j; exchange(p1,p2); printf("p1%d,p2%d\n",*p1,*p2);…

mysql實戰38 | 都說InnoDB好,那還要不要使用Memory引擎?

我在上一篇文章末尾留給你的問題是&#xff1a;兩個 group by 語句都用了 order by null&#xff0c;為什么使用內存臨時表得到的語句結果里&#xff0c;0 這個值在最后一行&#xff1b;而使用磁盤臨時表得到的結果里&#xff0c;0 這個值在第一行&#xff1f;今天我們就來看看…