Rumah hujung hadapan web View.js Perbezaan antara Vue3 dan Vue2: pengkompil yang ditulis semula

Perbezaan antara Vue3 dan Vue2: pengkompil yang ditulis semula

Jul 07, 2023 pm 11:09 PM
vue Tulis semula kompilasi

Perbezaan antara Vue3 dan Vue2: pengkompil yang ditulis semula

Vue ialah rangka kerja bahagian hadapan yang popular dan ekosistemnya yang kukuh menjadikan Vue pilihan pertama bagi kebanyakan pembangun. Dalam keluaran Vue3, salah satu perubahan terbesar ialah penulisan semula pengkompil. Artikel ini akan memperkenalkan secara terperinci perubahan yang dibawa oleh pengkompil yang ditulis semula dalam Vue3, dan menggunakan contoh kod untuk memperdalam pemahaman.

1. Pengkompil ditulis semula

  1. Pengkompil Vue2

Dalam Vue2, fungsi utama pengkompil adalah untuk menyusun templat Vue ke dalam fungsi pemaparan boleh laku, dan pada masa yang sama, semasa proses penyusunan, ia akan Mengarahkan komponen, peristiwa, dsb. dihuraikan dan diproses. Vue2 menggunakan pengkompil berdasarkan operasi rentetan untuk menukar rentetan templat kepada fungsi pemaparan. Kaedah ini akan mempunyai kesesakan prestasi apabila memproses templat yang besar dan kompleks.

  1. Pengkompil Vue3

Dalam Vue3, pengkompil telah ditulis semula sepenuhnya, menggunakan kaedah penyusunan yang lebih cekap dan menggunakan pengkompil berdasarkan AST (Pokok Sintaks Abstrak). AST ialah struktur data yang menerangkan struktur kod prestasi kompilasi dipertingkatkan dengan menghuraikan templat dan menjana AST, dan kemudian merentasi AST untuk mengoptimumkan dan menjana fungsi pemaparan.

2. Kelebihan pengkompil Vue3

  1. Prestasi yang lebih tinggi

Dengan menggunakan AST untuk mengoptimumkan dan menjana fungsi pemaparan, pengkompil Vue3 telah meningkatkan prestasi dengan ketara. Berbanding dengan kaedah manipulasi rentetan Vue2, pengkompil Vue3 boleh menganalisis struktur dan kebergantungan templat dengan lebih tepat dan menjana kod yang lebih cekap. Ini boleh meningkatkan prestasi pemaparan aplikasi dengan ketara dalam kes templat yang besar dan kompleks.

  1. Saiz pakej yang lebih kecil

Pengkompil Vue3 telah dioptimumkan untuk menjana kod yang lebih kecil daripada Vue2. Ini bermakna apabila menggunakan Vue3 untuk membina aplikasi, saiz fail yang dibungkus boleh dikurangkan dan kelajuan memuatkan aplikasi boleh dipertingkatkan. Ini amat penting untuk pembangunan aplikasi mudah alih.

3. Contoh Kod

Untuk menunjukkan kelebihan pengkompil Vue3 dengan lebih baik, mari kita bandingkan dengan contoh mudah. Katakan terdapat komponen Vue, templat mengandungi senarai gelung, dan terdapat beberapa logik kompleks dalam badan gelung.

Vue2 ditulis seperti berikut:

<template>
  <div>
    <ul>
      <li v-for="item in list" :key="item.id">
        <span>{{ item.title }}</span>
        <button @click="handleButtonClick(item.id)">点击</button>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      list: [...]
    }
  },
  methods: {
    handleButtonClick(id) {
      // 复杂的逻辑...
    }
  }
}
</script>
Salin selepas log masuk

Vue3 ditulis seperti berikut:

<template>
  <div>
    <ul>
      <li v-for="item in list" :key="item.id">
        <span>{{ item.title }}</span>
        <button @click="() => handleButtonClick(item.id)">点击</button>
      </li>
    </ul>
  </div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const list = ref([...]);
    const handleButtonClick = (id) => {
      // 复杂的逻辑...
    };

    return {
      list,
      handleButtonClick
    };
  }
}
</script>
Salin selepas log masuk

Dalam contoh kod di atas, struktur templat Vue2 dan Vue3 adalah sama, tetapi dalam Vue3 anda boleh menggunakan persediaan yang lebih ringkas Fungsi untuk menulis bahagian logik komponen. Fungsi setup mengembalikan objek yang mengandungi data dan kaedah komponen. Pada masa yang sama, Vue3 memperkenalkan fungsi ref untuk mencipta data responsif, menggantikan atribut data dalam Vue2. Penambahbaikan ini menjadikan kod lebih jelas dan ringkas, meningkatkan kecekapan pembangunan. setup函数来编写组件的逻辑部分。setup函数返回一个对象,这个对象中包含了组件的数据和方法。同时,Vue3中引入了ref函数用来创建响应式的数据,替代了Vue2中的data属性。这些改进使得代码更加清晰简洁,提高了开发效率。

总结

Vue3重写的编译器是Vue3最大的改进之一,它通过使用AST进行优化和生成渲染函数,提高了编译的性能和包体积更小的特点。在实际应用开发中,尤其是对于大型复杂模板的情况下,Vue3的编译器带来的性能优势更加明显。同时,使用setup

Ringkasan🎜🎜Penyusun semula Vue3 ialah salah satu peningkatan terbesar Vue3 Ia meningkatkan prestasi kompilasi dan saiz pakej yang lebih kecil dengan menggunakan AST untuk pengoptimuman dan penjanaan fungsi pemaparan. Dalam pembangunan aplikasi sebenar, terutamanya dalam kes templat yang besar dan kompleks, kelebihan prestasi yang dibawa oleh pengkompil Vue3 adalah lebih jelas. Pada masa yang sama, gunakan fungsi setup untuk menulis bahagian logik komponen, menjadikan kod lebih jelas dan ringkas. Oleh itu, kami mempunyai sebab untuk mempercayai bahawa pengkompil Vue3 akan memainkan peranan penting dalam pembangunan Vue. 🎜

Atas ialah kandungan terperinci Perbezaan antara Vue3 dan Vue2: pengkompil yang ditulis semula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Cara Menggunakan Vue Traversal Cara Menggunakan Vue Traversal Apr 07, 2025 pm 11:48 PM

Terdapat tiga kaedah umum untuk vue.js untuk melintasi tatasusunan dan objek: Arahan V-untuk digunakan untuk melintasi setiap elemen dan membuat templat; Arahan V-mengikat boleh digunakan dengan V-untuk menetapkan nilai atribut secara dinamik untuk setiap elemen; dan kaedah .map boleh menukar elemen array ke dalam tatasusunan baru.

Cara melompat tag ke vue Cara melompat tag ke vue Apr 08, 2025 am 09:24 AM

Kaedah untuk melaksanakan lompatan tag dalam Vue termasuk: menggunakan tag dalam templat HTML untuk menentukan atribut HREF. Gunakan komponen router-link routing VUE. Gunakan ini. $ Router.push () kaedah dalam JavaScript. Parameter boleh dilalui melalui parameter pertanyaan dan laluan dikonfigurasikan dalam pilihan penghala untuk lompatan dinamik.

See all articles