日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue 3 都 RC 了,前端的你还不来看看

發布時間:2024/4/14 vue 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue 3 都 RC 了,前端的你还不来看看 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

7月18號,Vue.js 作者尤雨溪宣布 Vue 3 已進入 RC 階段,這意味著 Vue 3 內核的 API 和實現已到達穩定狀態。

Vue 可稱得上是前端框架界的 C 位,學前端必學 Vue!

無論你是小白,還是已有多年經驗的前端,這門講解 Vue 3 的課程——《Vue.js 3 基礎入門實戰》,都一定要來學習呀!

Vue 3 介紹與安裝

實驗介紹

本節實驗是本課程的第一個實驗,主要帶領大家了解一下 Vue 3 beta 版對比 Vue 2.x 的重要變更,同時將為大家講解三種安裝 Vue 3 的方式。

知識點

  • Vue 3.0 對比 2.x 的重要變更
  • Vue 3.0 beta 版安裝

Vue.js 介紹

Vue (讀音 /vju?/,類似于 view) 是一套用于構建用戶界面的漸進式框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為復雜的單頁應用提供驅動。<信息來源:vue 官網>

Vue 是一個推陳出新的前端框架,吸收了很多前端框架的優點。例如,Vue 借鑒了 React 的組件化和虛擬 DOM ,借鑒了 Angular 的模塊化和數據綁定。因此,我們以 Vue.js 作為入手,以后深入學習其他框架,你會發現他們的共通之處,更好地高效地學習。

選擇 Vue.js 的更多原因是,就框架的 API 而言,對比之下,Vue 更加輕便簡潔。Vue 自身擁有開箱即用的生態開發包(Vuex,Vue-Router)等,復雜性低、學習成本低,是一門比較好入門的前端框架。

3.0 對比 2.x 的重要變更

4 月 16 號,尤雨溪大大發布了 Vue.js 3 beta 版,State of Vue 是他上傳到 google docs 上的 slides,如果你可以有科學上網的條件的話你可以打開鏈接,如果不行,下面我們會為大家簡單總結一下主要內容。

進入 Beta 階段意味著所有被列入計劃的 RFCs 已經實現了,接下來的重點是讓 Vue 3 變得更加穩定,以及讓 vue 相關的第三方庫支持 vue 3。

Vue 3.0 相對與之前的版本,有 6 個方面的重要變更:

  • Performance (性能)
  • Tree-shaking support (支持 Tree-shaking)
  • Composition API
  • Fragment, Teleport, Suspense
  • Better TypeScript support (更好的 TypeScript 支持度)
  • Custom Renderer API (自定義的 Renderer API)

下面我們將具體的為大家講解一下這 6 個方面。

Performance

性能上,主要有以下這五個方面:

  • Rewritten virtual dom implementation (重寫了虛擬 DOM)
  • Compiler-informed fast paths (優化編譯)
  • More efficient component initialization (更高效的組件初始化)
  • 1.3-2x better update performance (1.3~2 倍的更新性能)
  • 2-3x faster SSR (2~3 倍的 SSR 速度)

性能上,主要是優化了虛擬 DOM,所以也就有了更加優化的編譯,同時實現了更加高效的組件初始化。

Tree-shaking support

  • Most optional features (e.g. v-model, <transition>) are now tree-shakable (大多數可選功能(如 v-model、<transition>)現在都是支持 Tree-shaking 的。)
  • Bare-bone HelloWorld size: 13.5kb. 11.75kb with only Composition API support
  • All runtime features included: 22.5kb. More features but still lighter than Vue 2

在大部分情況下,我們并不需要 vue 中的所有功能,但是在之前的 vue 版本中,我們沒有一個合適的辦法用來除去不需要的功能,而 Vue3 中,為了滿足體積更小的需求,支持 Tree-shaking,也就意味著我們可以按需求引用的內置的指令和方法。

Composition API

  • Usable alongside existing Options API (可與現有選項 API 一起使用)
  • Flexible logic composition and reuse (靈活的邏輯組成和重用)
  • Reactivity module can be used as a standalone library (Reactivity 模塊可以作為獨立的庫使用)

Composition API 主要是提高了代碼邏輯的可復用性,并且將 Reactivity 模塊獨立出來,這也使得 vue 3 變得更加靈活地與其他框架組合使用。

Fragment, Teleport, Suspense

  • Fragment
    • No longer limited to a single root node in templates (<template> 中不再局限于單一的根節點)
    • Manual render functions can simply return Arrays (render 函數可以返回數組)
    • “Just works”
  • Teleport
    • Previously known as <Portal>(原名為 <Portal>)
    • More details to be shared by @Linusborg
  • Suspense
    • Wait on nested async dependencies in a nested tree
    • Works with async setup() (與 async 函數 setup() 配合使用)
    • Works with Async Components (與 Async 組件配合使用)

Better TypeScript support

  • Codebase written in TS w/ auto-generated type definitions
  • API is the same in JS and TS
  • In fact, code will also be largely the same
  • TSX support
  • Class component is still supported (vue-class-component@next is currently in alpha)

vue3.0 對 TS 的支持度更高了,同時也支持 TSX 的使用;API 在 JS 與 TS 中的使用相同;類組件仍然可用,但是需要我們引入 vue-class-component@next,該模塊目前還處于 alpha 測試階段。

Custom Renderer API

  • NativeScript Vue integration underway by @rigor789
  • Users already experimenting w/ WebGL custom renderer that can be used alongside a normal Vue application (Vugel)

自定義 render。我們會提供一個 API 用來創建自定義的 render,因此你不需要為了自定義一些功能而 fork Vue 的代碼。這個特性給 Weex 和 NativeScript Vue 這樣的項目提供了很多便利。

標簽引入模式,和平常引入 JQuery 一樣,直接下載并用 <script> 標簽引入,我們使用的是以下這個較為穩定的 CDN:

<!--vue版本為3.0.0-beta.14 --> <script src="https://cdn.jsdelivr.net/npm/vue@3.0.0-beta.14/dist/vue.global.js"></script>

由于非會員用戶無法訪問外網,所以后續的代碼中,統一使用引用鏈接為 <script src="https://labfile.oss.aliyuncs.com/courses/2495/vue.global.js"></script>

腳手架工具安裝

那么應該如何搭建 Vue 3.0 項目呢,我們首先來了解第一種方式,第一種方式較為復雜,在環境中安裝的時間也較長:

與 Vue 2.x 創建項目的過程類似,我們可以使用腳手架工具 vue-cli 來初始化項目,首先要安裝腳手架工具:

npm install -g @vue/cli


安裝的時間稍微有點長,在安裝完成后(如上圖),我們可以測試一下我們是否安裝成功

vue -V


已經成功安裝好后,我們來初始化項目

vue create vue-next-test

輸入命令后,出現命令行交互窗口,交互窗口會出現較多選項,希望同學們耐心完成,第一個選項這里,我們選擇 Manually select features:

隨后我們勾選:Router、Vuex、CSS Pre-processors 和 Linter / Formatter,移動到選項后點擊空格即可勾選,勾選完成后敲入回車進入下一步:

選擇使用 history 路由模式,即輸入 y:

接下來選擇 css 預處理器,選擇第一個即可 Sass/SCSS,下一步選擇 eslint 配置:ESLint + Standard config

選擇什么時候執行 eslint 校驗,我們選擇 Lint on save:

接下來是選擇以什么樣的形式配置以上所選的功能,選擇第一個 In dedicated config files:

下面一個選項是是否將之前的設置保存為一個預設模板,我們輸入 y:

接下來我們選擇 NPM 來安裝依賴

最后敲入回車,進入安裝模式

已經完成了初始化,目前 Vue 3.0 項目需要從 Vue 2.0 項目升級而來,因為 vue-cli 還沒有直接支持,我們通過插件升級的方式來實現,我們進入項目目錄,并輸入以下指令:

cd vue-next-test vue add vue-next

執行完后,效果如下所示,項目會自動安裝 vue-cli-plugin-vue-next 插件,該插件會完成操作:

  • 在項目依賴中添加 Vue 3 beta 和 @vue/compiler-sfc
  • 重新配置 webpack,用新的 Vue 3 編譯器編譯.vue 文件
  • 自動遷移到 RFC-0009 中提到的一些全局 API 變化的模板。
  • 自動將代碼中的 Vue Router 和 Vuex 升級到 4.0 版本,但是如果未安裝則不會升級
  • 自動生成 Vue Router 和 Vuex 模板代碼

    我們打開配置文件(package.json)來看看安裝的 Vue 版本:3.0.0-beta.1

    項目現在正式升級為 Vue 3.0,但是為了適應實驗樓的線上環境我們仍需要一些額外的配置,我們需要在文件的根目錄下新建一個名為 vue.config.js 的文件,將文件中心寫入如下代碼:
module.exports = {devServer: {disableHostCheck: true,}, };


現在我們來運行一下吧,在 Terminal 中輸入:

npm run serve


如圖成功執行命令后,我們點擊側邊工具欄中的 Web 服務按鈕,就可以看到一個 vue 應用:

克隆倉庫安裝

同學們應該也感受到了,安裝腳手架的過程顯得有些太過復雜,與其直接安裝 Vue 3,不如克隆一個項目vue-next-webpack-preview,這個項目為我們提供一個包括 Vue 3 在內的最小的 Webpack 設置,當我們創建較小項目時,可以采用這種方法。

克隆項目并安裝 npm 模塊:

git clone https://github.com/vuejs/vue-next-webpack-preview.git vue3-experiment cd vue3-experiment npm i


安裝完成后的文件結構如下所示:

我們來看看這個項目中的 Vue 版本:3.0.0-beta.15

與第一種方法相似,為了適應實驗樓的線上環境我們仍需要一些額外的配置,打開文件下的 webpack.config.js 文件,在 devServer{} 下添加:

devServer: {...host:'0.0.0.0',disableHostCheck: true, }


接下來我們輸入以下命令來在環境中運行項目:

npm run dev ```![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yMjY2NjItOTBmNTI0Y2ZkMWY4ZGIxMi5wbmc?x-oss-process=image/format,png) 運行成功后,打開側邊工具欄中的 Web 服務,效果如下所示 ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yMjY2NjItZTc0YTZlNzE2NTM2ZjczNy5wbmc?x-oss-process=image/format,png) 我們可以看到目前這個項目已經實現了一個計算的功能,那么應該如何從頭開始創建項目呢,很簡單,我們只需要把 `src/*` 下的文件刪除,并且重新編寫 `main.js` 即可從頭開始創建項目。## **實驗總結**本節實驗我們主要為大家講解了 Vue 3.0 進入 Beta 版后所作出的 6 個方面的重要變更,并且介紹了 3 種不同的方式安裝 Vue 3,我們來簡單的回顧一下:- Vue 3 相對與之前的版本,有 Performance (性能)、Tree-shaking support (Tree-shaking 支持)、Composition API、Fragment, Teleport, Suspense、Better TypeScript support (更好的 TypeScript 支持度)以及 Custom Renderer API (自定義的 Renderer API)6 個方面的重要變更- 安裝 Vue 3 有`<script>` 標簽引入、利用腳手架工具搭建、克隆已有項目三種方式。 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的Vue 3 都 RC 了,前端的你还不来看看的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。