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

Vue完整版和runtime版的區(qū)別詳解

 更新時間:2022年12月21日 14:27:08   作者:dan_n  
這篇文章主要為大家介紹了Vue完整版和runtime版的區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

創(chuàng)建Vue實例的三種方式

從HTML得到視圖

前提:使用完整版,CDN引入或者修改配置

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
	// ...
  configureWebpack: {
    resolve: {
      alias: {
        vue$: 'vue/dist/vue.esm.js', // 用 webpack 1 時需用 'vue/dist/vue.common.js'
      },
    },
  },
})

index.html

<div id="app">
  {{n}} 
</div>

main.js

import Vue from 'vue' // 或者在index.html使用CDN引入
new Vue({
  // 掛載到app元素并以其DOM內(nèi)部的HTML作為模板
  el: '#app',
  data: {
    n: 1,
  },
})
// 或者傳一個字符串給template
new Vue({
  template: '<div>{{ n }}</div>'
})

用JS構(gòu)建視圖

需要用到render函數(shù),參數(shù)是Vue提供的h函數(shù),也即createElement

import Vue from 'vue'
new Vue({
  el: '#app',
  render(h) { // createElement
    return h('div', [this.n, h('button', { on: { click: this.add } }, '+1')])
  },
  data: {
    n: 0,
  },
  methods: {
    add() {
      this.n += 1
    },
  },
})

使用vue-loader

可以把*.vue文件翻譯成h構(gòu)建方法,但這樣做HTML就只有一個div#app,SEO不友好

新建一個單文件組件 Demo.vue

<template>
  <div class="red">
    {{ n }}
    <button @click="add">+1</button>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        n: 0,
      }
    },
    methods: {
      add() {
        this.n += 1
      },
    },
  }
</script>
<style>
  .red {
    color: red;
  }
</style>
import Vue from 'vue'
import Demo from './Demo.vue'
console.log(Demo.render.toString())
new Vue({
  el: '#app',
  render(h) {
    return h(Demo)
  },
})

將render()函數(shù)打印出來,可以看到該函數(shù)將<template>內(nèi)部代碼翻譯成h構(gòu)建方法

完整版和運行時版的區(qū)別

完整版:運行時+編譯器(compiler將模板字符串編譯成JavaScript渲染函數(shù)的代碼)

運行時版:沒有編譯器,體積小

如果把視圖寫在HTML或template選項會報錯

兩者對比

特點視圖CDN引入webpack或@vue/cli引入
Vue完整版有編譯器,體積大寫在HTML或template選項里vue.js需額外配置
Vue運行時版無編譯器寫在render函數(shù)里,用參數(shù)h創(chuàng)建標(biāo)簽vue.runtime.js默認(rèn)使用

最佳實踐

使用非完整版,配合 vue-loader 和 vue 文件

思路

  • 保證用戶體驗,用戶下載的JS文件體積更小,但只支持h函數(shù)
  • 保證開發(fā)體驗,開發(fā)者可以直接在vue文件里寫HTML標(biāo)簽,不寫h函數(shù)
  • 臟活讓loader做,vue-loader把vue文件里的HTML轉(zhuǎn)為h函數(shù)

SEO友好

搜索引擎優(yōu)化

搜索引擎就是不停地curl,搜索引擎根據(jù)curl結(jié)果猜測頁面內(nèi)容

p.s. 用戶訪問網(wǎng)站看到的界面是JS渲染之后的,右鍵查看源代碼才是curl返回的結(jié)果

如果頁面都是JS創(chuàng)建div,curl無法獲取有效信息,因此最好在title, description, keyword, h1, a寫入內(nèi)容(前面三個是meta標(biāo)簽)

總結(jié)一條原則:讓curl能得到頁面的主要內(nèi)容和相關(guān)內(nèi)容,SEO就能正常的工作

怎么提升SEO排名呢,訪問量or氪金

以上就是Vue完整版和runtime版的區(qū)別詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue完整版runtime版區(qū)別的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue?axios?form-data格式傳輸數(shù)據(jù)和文件方式

    vue?axios?form-data格式傳輸數(shù)據(jù)和文件方式

    這篇文章主要介紹了vue?axios?form-data格式傳輸數(shù)據(jù)和文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 使用axios發(fā)送post請求,將JSON數(shù)據(jù)改為form類型的示例

    使用axios發(fā)送post請求,將JSON數(shù)據(jù)改為form類型的示例

    今天小編就為大家分享一篇使用axios發(fā)送post請求,將JSON數(shù)據(jù)改為form類型的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • vue實現(xiàn)滑動到底部加載更多效果

    vue實現(xiàn)滑動到底部加載更多效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)滑動到底部加載更多效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Vue.directive使用注意(小結(jié))

    Vue.directive使用注意(小結(jié))

    這篇文章主要介紹了Vue.directive使用注意(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue3基礎(chǔ)組件開發(fā)detePicker日期選擇組件示例

    vue3基礎(chǔ)組件開發(fā)detePicker日期選擇組件示例

    這篇文章主要為大家介紹了vue3基礎(chǔ)組件開發(fā)-detePicker(日期選擇組件)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • QT和vue交互的實現(xiàn)示例

    QT和vue交互的實現(xiàn)示例

    本文主要介紹了QT和vue交互的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Vue3?源碼解讀靜態(tài)提升詳解

    Vue3?源碼解讀靜態(tài)提升詳解

    這篇文章主要為大家介紹了Vue3源碼解讀靜態(tài)提升示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • vue的webcamjs集成方式

    vue的webcamjs集成方式

    這篇文章主要介紹了vue的webcamjs集成方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue+elementUI實現(xiàn)動態(tài)合并數(shù)據(jù)相同的單元格(可指定合并列)

    vue+elementUI實現(xiàn)動態(tài)合并數(shù)據(jù)相同的單元格(可指定合并列)

    這篇文章主要介紹了vue+elementUI如何實現(xiàn)動態(tài)合并數(shù)據(jù)相同的單元格,文中有詳細(xì)的代碼實例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2023-07-07
  • 使用Electron打包vue文件變成exe應(yīng)用程序的全過程

    使用Electron打包vue文件變成exe應(yīng)用程序的全過程

    這篇文章主要給大家介紹了使用Electron打包vue文件變成exe應(yīng)用程序的全過程,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-01-01

最新評論

屏东县| 兰考县| 海阳市| 侯马市| 泰州市| 文成县| 北宁市| 门头沟区| 莆田市| 苍溪县| 江安县| 翁源县| 定南县| 乌兰浩特市| 云霄县| 句容市| 临沧市| 潜江市| 沧源| 长宁县| 庄河市| 绿春县| 庆安县| 永川市| 新泰市| 丹凤县| 玉田县| 平顺县| 荣成市| 旌德县| 湖南省| 泌阳县| 旺苍县| 汉寿县| 双峰县| 新田县| 常熟市| 克什克腾旗| 建瓯市| 隆尧县| 蒙阴县|