最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中 Runtime + Compiler 和 Runtime-only 兩種模式含義和區(qū)別詳解

 更新時(shí)間:2023年06月07日 10:15:01   作者:webchang  
這篇文章主要介紹了Vue中 Runtime + Compiler 和 Runtime-only 兩種模式含義和區(qū)別,結(jié)合實(shí)例形式詳細(xì)分析了Vue中 Runtime + Compiler 和 Runtime-only 兩種模式基本功能、原理、區(qū)別與相關(guān)注意事項(xiàng),需要的朋友可以參考下

1. 問題描述

在使用 vue-cli 腳手架構(gòu)建項(xiàng)目時(shí),會(huì)遇到一個(gè)構(gòu)建選項(xiàng) Vue build,有兩個(gè)選擇,Runtime + CompilerRuntime-only ,如圖所示
在這里插入圖片描述

Runtime + Compiler: recommended for most users

運(yùn)行程序+編譯器:推薦給大多數(shù)用戶

Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specific HTML) are ONLY allowed in .vue files - render functions are required elsewhere

僅運(yùn)行程序: 比上面那種模式輕大約 6KB,但是 template (或任何特定于vue的html)只允許在.vue文件中使用——其他地方用需要 render 函數(shù)

2. 兩種模式的區(qū)別

  1. runtime-only 比 runtime-compiler 輕 6kb,代碼量更少
  2. runtime-only 運(yùn)行更快,性能更好
  3. runtime-only 其實(shí)只能識(shí)別render函數(shù),不能識(shí)別template,.vue 文件中的template也是被 vue-template-compiler 翻譯成了render函數(shù),所以只能在.vue里寫 template

有關(guān)vue中的render函數(shù)可以看這篇文章:vue中的render函數(shù)

3. 解釋

兩種模式生成的 腳手架 即(代碼模板)主要區(qū)別在 main.js 中,其它基本上是一樣的:
在這里插入圖片描述
我們?cè)倏匆粡垐D:
在這里插入圖片描述

runtime + compiler 中 Vue 的運(yùn)行過程

對(duì)于 runtime-compiler 來說,它的代碼運(yùn)行過程是:template -> ast -> render -> virtual dom -> UI

  • 首先將vue中的template模板進(jìn)行解析解析成abstract syntax tree (ast)抽象語法樹
  • 將抽象語法樹在編譯成render函數(shù)
  • 將render函數(shù)再翻譯成virtual dom(虛擬dom)
  • 將虛擬dom顯示在瀏覽器上

runtime-only 中 Vue 的運(yùn)行過程

對(duì)于 runtime-only來說,它是從 render -> virtual dom -> UI

  • 可以看出它省略了從template -> ast -> render的過程
  • 所以runtime-only比runtime-compiler更快,代碼量更少
  • runtime-only 模式中不是沒有寫 template ,只是把 template 放在了.vue 的文件中了,并有一個(gè)叫 vue-template-compiler 的開發(fā)依賴時(shí)將.vue文件中的 template 解析成 render 函數(shù)。 因?yàn)槭情_發(fā)依賴,不在最后生產(chǎn)中,所以最后生產(chǎn)出來的運(yùn)行的代碼沒有template

4. 總結(jié)

如果在之后的開發(fā)中,你依然使用template,就需要選擇 Runtime + Compiler

如果你之后的開發(fā)中,使用的是.vue文件夾開發(fā),那么可以選擇 Runtime-only

補(bǔ)充

對(duì)Vue中 runtime-compiler 和 runtime-only 兩種模式的理解

一、問題

在使用 vue-cli 腳手架構(gòu)建項(xiàng)目時(shí),會(huì)遇到一個(gè)構(gòu)建選項(xiàng) Vue build,有兩個(gè)選項(xiàng),Runtime + CompilerRuntime-only:

· Runtime + Compiler: recommended for most users

(運(yùn)行程序+編譯器:推薦給大多數(shù)用戶)

· Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere

(僅運(yùn)行程序: 比上面那種模式輕大約 6KB min+gzip,但是 template (或任何特定于vue的html)只允許在.vue文件中使用——其他地方用需要 render 函數(shù))

其實(shí)構(gòu)建時(shí)的英文解釋已經(jīng)很簡(jiǎn)潔清晰了,但是第一次看的話或者不了解英文可能還是會(huì)比較 懵逼

下面是對(duì)兩種模式詳細(xì)的比較與解釋

二、區(qū)別

1、runtime-only 比 runtime-compiler 輕 6kb

2、runtime-only 運(yùn)行更快

3、runtime-only 其實(shí)只能識(shí)別render函數(shù),不能識(shí)別template,.vue文件中的也是被 vue-template-compiler 翻譯成了

      render函數(shù),所以只能在.vue里寫 template

三、解釋

1、兩種模式生成的 腳手架 即(代碼模板)其實(shí)區(qū)別只有在 main.js 中,其他都是一樣的:

可以發(fā)現(xiàn)一個(gè) 是用 template + component 而另一個(gè) 則是 用 render 函數(shù)

2、render函數(shù): h => h(App) :

具體的解釋可以看我上一篇博文:

http://www.fzitv.net/javascript/287639zan.htm

簡(jiǎn)單地說就是 h 函數(shù)就是 createElement 函數(shù),用于創(chuàng)建 虛擬DOM

3、runtime + compiler 中 Vue 的運(yùn)行過程:

(1)首先將vue中的模板進(jìn)行解析解析成abstract syntax tree (ast)抽象語法樹

(2)將抽象語法樹在編譯成render函數(shù)

(3)將render函數(shù)再翻譯成virtual dom 虛擬dom

(4)將虛擬dom顯示在瀏覽器上

4、runtime-only 更快的原因:

runtime-only比runtime-compiler更快,因?yàn)樗÷粤藇ue內(nèi)部過程中的第一個(gè)過程,如果是runtime-compiler

那么main.js中就會(huì)出現(xiàn)template從而需要過程一導(dǎo)致增加了一個(gè)過程,同時(shí)增加了大小

而 runtime-only 模式中不是沒有寫 template ,只是把 template 放在了.vue 的文件中了

并有一個(gè)叫 vue-template-compiler的在開發(fā)依賴時(shí)將.vue文件中的 template 解析成 render 函數(shù)了

因?yàn)槭情_發(fā)依賴,不在最后生產(chǎn)中,所以最后生產(chǎn)出來的運(yùn)行的代碼沒有template

相關(guān)文章

  • 老生常談vue3組件通信方式

    老生常談vue3組件通信方式

    這篇文章主要介紹了vue3組件通信方式,面試題經(jīng)常會(huì)問到vue3組件間的通信方式,今天就通過實(shí)例代碼給大家詳細(xì)介紹下,對(duì)vue3組件通信相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-08-08
  • vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能

    vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue cli構(gòu)建及項(xiàng)目打包以及出現(xiàn)的問題解決

    Vue cli構(gòu)建及項(xiàng)目打包以及出現(xiàn)的問題解決

    這篇文章主要介紹了Vue cli構(gòu)建及項(xiàng)目打包以及出現(xiàn)的問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 利用Vue實(shí)現(xiàn)一個(gè)累加向上漂浮動(dòng)畫

    利用Vue實(shí)現(xiàn)一個(gè)累加向上漂浮動(dòng)畫

    在不久之前,看到一個(gè)比較有意思的小程序,就是靜神木魚,可以實(shí)現(xiàn)在線敲木魚,自動(dòng)敲木魚,手盤佛珠,靜心頌缽的,下面就來揭秘如何實(shí)現(xiàn)這個(gè)小程序中敲木魚的累加向上漂浮動(dòng)畫,需要的可以參考一下
    2022-11-11
  • vue實(shí)現(xiàn)動(dòng)態(tài)路由的方法及路由原理解析

    vue實(shí)現(xiàn)動(dòng)態(tài)路由的方法及路由原理解析

    這篇文章主要介紹了路由原理及vue實(shí)現(xiàn)動(dòng)態(tài)路由,Vue Router 提供了豐富的 API,可以輕松地實(shí)現(xiàn)路由功能,并支持路由參數(shù)、查詢參數(shù)、命名路由、嵌套路由等功能,可以滿足不同應(yīng)用程序的需求,需要的朋友可以參考下
    2023-06-06
  • element的el-form-item的prop作用小結(jié)

    element的el-form-item的prop作用小結(jié)

    Vue表單驗(yàn)證中的prop屬性用于指定需要驗(yàn)證的表單字段,它定義了字段名稱并與驗(yàn)證規(guī)則關(guān)聯(lián),確保數(shù)據(jù)的完整性和準(zhǔn)確性,本文就來介紹一下element的el-form-item的prop作用,感興趣的可以了解一下
    2025-01-01
  • vue腳手架vue-cli的卸載與安裝方式

    vue腳手架vue-cli的卸載與安裝方式

    pm是nodejs的包管理和分發(fā)工具,它可以讓javascript開發(fā)者能夠更加輕松的共享代碼和共用代碼片段,下面這篇文章主要給大家介紹了關(guān)于vue腳手架vue-cli卸載與安裝的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • vue自定義全局組件實(shí)現(xiàn)彈框案例

    vue自定義全局組件實(shí)現(xiàn)彈框案例

    這篇文章主要為大家詳細(xì)介紹了vue自定義全局組件實(shí)現(xiàn)彈框案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SSM VUE Axios詳解

    SSM VUE Axios詳解

    Axios是在前端開發(fā)中常用的一個(gè)發(fā)送 HTTP 請(qǐng)求的庫,用過的都知道,篇文章主要給大家介紹了關(guān)于vue的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • VUE配置history路由模式配置詳細(xì)舉例

    VUE配置history路由模式配置詳細(xì)舉例

    這篇文章主要給大家介紹了關(guān)于VUE配置history路由模式配置的相關(guān)資料,History模式是Vue路由的另一種模式,在History模式下URL中的路徑不再使用#符號(hào),而是直接使用正常的路徑形式,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

通山县| 江安县| 扎兰屯市| 贡嘎县| 庆云县| 徐闻县| 东丽区| 崇信县| 荣成市| 巴南区| 思南县| 崇仁县| 调兵山市| 青阳县| 清原| 阿瓦提县| 宜春市| 邢台县| 兴隆县| 丹棱县| 桑植县| 双牌县| 曲沃县| 盐源县| 阿拉善盟| 宜宾市| 葫芦岛市| 雷波县| 大港区| 临清市| 礼泉县| 上思县| 东海县| 江门市| 庄浪县| 舒兰市| 婺源县| 崇左市| 温泉县| 松滋市| 静乐县|