Jadual Kandungan
1. Penambahbaikan nama persediaan
2. Import automatik API
Selesaikan masalah pelaporan ralat eslint
3. Selamat tinggal kepada .value
4 Import imej secara automatik
5. Abaikan akhiran .vue
Rumah hujung hadapan web View.js Ajar anda 5 mata pengetahuan untuk menjadikan pembangunan Vue3 lebih lancar

Ajar anda 5 mata pengetahuan untuk menjadikan pembangunan Vue3 lebih lancar

Feb 18, 2022 pm 05:12 PM
vue

Artikel ini membawa anda pengetahuan tentang pembangunan dalam Vue, dan menyusun 5 petua yang boleh meningkatkan kecekapan pembangunan, menjadikan pembangunan projek Vue3 anda lebih lancar dan lancar.

Ajar anda 5 mata pengetahuan untuk menjadikan pembangunan Vue3 lebih lancar

1. Penambahbaikan nama persediaan

gula sintaks persediaan Vue3 adalah perkara yang baik, tetapi masalah pertama yang disebabkan oleh penggunaan sintaks persediaan ialah ia tidak boleh disesuaikan nama, dan apabila kita menggunakan keep-alive, kita sering memerlukan nama Masalah ini biasanya diselesaikan dengan menulis dua tag skrip, satu menggunakan persediaan dan satu tidak menggunakannya, tetapi ini pastinya tidak cukup elegan.

<script>
import { defineComponent, onMounted } from &#39;vue&#39;
export default defineComponent({
  name: &#39;OrderList&#39;
})
</script>
<script setup>
onMounted(() => {
  console.log(&#39;mounted===&#39;)
})
</script>
Salin selepas log masuk

Pada masa ini, dengan bantuan plug-in vite-plugin-vue-setup-extend, kami boleh menyelesaikan masalah ini dengan lebih elegan Daripada menulis dua tag skrip, kami boleh menentukan secara langsung nama pada tag skrip.

Pasang

npm i vite-plugin-vue-setup-extend -D
Salin selepas log masuk

Konfigurasikan

// vite.config.ts
import { defineConfig } from &#39;vite&#39;
import VueSetupExtend from &#39;vite-plugin-vue-setup-extend&#39;
export default defineConfig({
  plugins: [
    VueSetupExtend()
  ]
})
Salin selepas log masuk

Gunakan

<script setup name="OrderList">
import { onMounted } from &#39;vue&#39;
onMounted(() => {
  console.log(&#39;mounted===&#39;)
})
</script>
Salin selepas log masuk

2. Import automatik API

Sintaks persediaan membolehkan kami menggunakan pembolehubah dan kaedah pada templat tanpa mengembalikannya satu demi satu, yang sangat membebaskan tangan kami. Walau bagaimanapun, untuk beberapa VueAPI yang biasa digunakan, seperti ref, dikira, jam tangan, dll., kami masih perlu mengimportnya secara manual pada halaman setiap kali.

Kami boleh merealisasikan import automatik melalui unplugin-auto-import dan menggunakan API Vue dalam fail tanpa mengimport.

Pemasangan

npm i unplugin-auto-import -D
Salin selepas log masuk

Konfigurasi

// vite.config.ts
import { defineConfig } from &#39;vite&#39;
import AutoImport from &#39;unplugin-auto-import/vite&#39;
export default defineConfig({
  plugins: [
    AutoImport({
       // 可以自定义文件生成的位置,默认是根目录下,使用ts的建议放src目录下
      dts: &#39;src/auto-imports.d.ts&#39;,
      imports: [&#39;vue&#39;]
    })
  ]
})
Salin selepas log masuk

Autoimports.d akan dijana secara automatik selepas pemasangan dan konfigurasi.

// auto-imports.d.ts
// Generated by &#39;unplugin-auto-import&#39;
// We suggest you to commit this file into source control
declare global {
  const computed: typeof import(&#39;vue&#39;)[&#39;computed&#39;]
  const createApp: typeof import(&#39;vue&#39;)[&#39;createApp&#39;]
  const customRef: typeof import(&#39;vue&#39;)[&#39;customRef&#39;]
  const defineAsyncComponent: typeof import(&#39;vue&#39;)[&#39;defineAsyncComponent&#39;]
  const defineComponent: typeof import(&#39;vue&#39;)[&#39;defineComponent&#39;]
  const effectScope: typeof import(&#39;vue&#39;)[&#39;effectScope&#39;]
  const EffectScope: typeof import(&#39;vue&#39;)[&#39;EffectScope&#39;]
  const getCurrentInstance: typeof import(&#39;vue&#39;)[&#39;getCurrentInstance&#39;]
  const getCurrentScope: typeof import(&#39;vue&#39;)[&#39;getCurrentScope&#39;]
  const h: typeof import(&#39;vue&#39;)[&#39;h&#39;]
  const inject: typeof import(&#39;vue&#39;)[&#39;inject&#39;]
  const isReadonly: typeof import(&#39;vue&#39;)[&#39;isReadonly&#39;]
  const isRef: typeof import(&#39;vue&#39;)[&#39;isRef&#39;]
  // ...
}
export {}
Salin selepas log masuk

Gunakan

<script setup name="OrderList">
// 不用import,直接使用ref
const count = ref(0)
onMounted(() => {
  console.log(&#39;mounted===&#39;)
})
</script>
Salin selepas log masuk

Di atas kami hanya mengimport vue dalam konfigurasi vite.config.ts, import: ['vue'], kecuali Untuk vue, anda juga boleh mengimport yang lain seperti vue-router, vue-use, dsb. mengikut dokumentasi.

Secara peribadi, disyorkan untuk mengimport beberapa API biasa sahaja secara automatik Sebagai contoh, kami sudah biasa dengan API Vue semasa pembangunan dan boleh menulisnya dengan mata tertutup Untuk sesetengah perpustakaan yang tidak dikenali seperti VueUse, Adalah lebih baik untuk menggunakan import Lagipun, editor mempunyai gesaan dan tidak mudah untuk membuat kesilapan.

Selesaikan masalah pelaporan ralat eslint

Menggunakannya tanpa import akan menyebabkan eslint menggesa pelaporan ralat, yang boleh diselesaikan dengan memasang pemalam **vue-global-api** dalam eslintrc.js.

// 安装依赖
npm i vue-global-api -D
// eslintrc.js
module.exports = {
  extends: [
    &#39;vue-global-api&#39;
  ]
}
Salin selepas log masuk

3. Selamat tinggal kepada .value

Seperti yang kita sedia maklum, ref memerlukan kita menambah .value apabila mengakses pembolehubah, yang membuatkan ramai pembangun berasa tidak selesa.

let count = ref(1)
const addCount = () => {
  count.value += 1
}
Salin selepas log masuk

Kemudian, You Dada juga menyerahkan cadangan gula sintaksis ref baharu.

ref: count = 1
const addCount = () => {
  count += 1
}
Salin selepas log masuk

Cadangan ini menimbulkan banyak perbincangan dalam masyarakat sebaik sahaja ia keluar, jadi saya tidak akan bercakap kosong mengenai topik ini di sini.

Di sini saya memperkenalkan cara penulisan yang lain, yang juga merupakan penyelesaian rasmi kemudiannya.

// vite.config.ts
import { defineConfig } from &#39;vite&#39;
import vue from &#39;@vitejs/plugin-vue&#39;
export default defineConfig({
  plugins: [
    vue({
      refTransform: true // 开启ref转换
    })
  ]
})
Salin selepas log masuk

Selepas menghidupkannya, anda boleh menulis seperti ini:

let count = $ref(1)
const addCount = () => {
  count++
}
Salin selepas log masuk

Konfigurasi gula sintaksis ini berbeza sedikit mengikut versi yang berbeza pemalam yang saya gunakan:

"vue": "^3.2.2",
"@vitejs/plugin-vue": "^1.9.0",
"@vue/compiler-sfc": "^3.2.5",
"vite": "^2.6.13"
Salin selepas log masuk

4 Import imej secara automatik

Dalam Vue2 kami sering merujuk imej seperti ini:

<img :src="require(&#39;@/assets/image/logo.png&#39;)" />
Salin selepas log masuk

Tetapi keperluan tidak disokong dalam. Vite, dan imej yang dirujuk menjadi Ia kelihatan seperti ini:

<template>
  <img :src="Logo" />
</template>
<script setup>
import Logo from &#39;@/assets/image/logo.png&#39;
</script>
Salin selepas log masuk

Setiap kali anda menggunakan imej, anda perlu mengimportnya, yang jelas melambatkan masa memancing semua orang Pada masa ini, kita boleh menggunakan vite-. plugin-vue-images untuk mengimport imej secara automatik.

Rasanya hebat, tetapi konflik berubah-ubah cenderung berlaku, jadi gunakan dengan berhati-hati!

Pasang

npm i vite-plugin-vue-images -D
Salin selepas log masuk

Konfigurasikan

// vite.config.ts
import { defineConfig } from &#39;vite&#39;
import ViteImages from &#39;vite-plugin-vue-images&#39;
export default defineConfig({
  plugins: [
    ViteImages({
      dirs: [&#39;src/assets/image&#39;] // 指明图片存放目录
    })
  ]
})
Salin selepas log masuk

Gunakan

<template>
  <!-- 直接使用 -->
  <img :src="Logo" />
</template>
<script setup>
// import Logo from &#39;@/assets/image/logo.png&#39;
</script>
Salin selepas log masuk

5. Abaikan akhiran .vue

Saya percaya ramai orang mengabaikan akhiran .vue apabila mengimport fail semasa membangunkan Vue2. Tetapi dalam Vite, mengabaikan akhiran .vue akan menyebabkan ralat.

import Home from &#39;@/views/home&#39; // error
import Home from &#39;@/views/home.vue&#39; // ok
Salin selepas log masuk

Menurut jawapan You Dada, keperluan untuk menulis akhiran sebenarnya sengaja direka dengan cara ini, iaitu semua orang digalakkan untuk menulis dengan cara ini.

Tetapi jika anda benar-benar tidak mahu menulis, sokongan rasmi disediakan.

// vite.config.ts
import { defineConfig } from &#39;vite&#39;
export default defineConfig({
  resolve: {
    extensions: [&#39;.js&#39;, &#39;.ts&#39;, &#39;.jsx&#39;, &#39;.tsx&#39;, &#39;.json&#39;, &#39;.vue&#39;]
  }
})
Salin selepas log masuk

Perlu diperhatikan di sini bahawa semasa mengkonfigurasi sambungan secara manual, ingat untuk menambah akhiran jenis fail lain, kerana jenis fail lain seperti js boleh mengabaikan import akhiran secara lalai tidak menambahnya, jenis fail lain boleh diimport. Import menjadi perlu untuk menambah akhiran.

Walaupun anda boleh melakukan ini, bagaimanapun, dokumen rasmi mengatakan bahawa adalah tidak disyorkan untuk mengabaikan akhiran .vue, jadi anda disyorkan untuk tetap menulis .vue secara jujur ​​dalam pembangunan sebenar.

[Cadangan berkaitan: "tutorial vue.js"]

Atas ialah kandungan terperinci Ajar anda 5 mata pengetahuan untuk menjadikan pembangunan Vue3 lebih lancar. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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 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 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 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 Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Cara Menggunakan Fungsi Memintas Vue Cara Menggunakan Fungsi Memintas Vue Apr 08, 2025 am 06:51 AM

Pemintasan fungsi dalam VUE adalah teknik yang digunakan untuk mengehadkan bilangan kali fungsi dipanggil dalam tempoh masa yang ditentukan dan mencegah masalah prestasi. Kaedah pelaksanaan adalah: mengimport perpustakaan lodash: import {debounce} dari 'lodash'; Gunakan fungsi debounce untuk membuat fungsi memintas: const debouncedfunction = debounce (() = & gt; { / logical /}, 500); Panggil fungsi Intercept, dan fungsi kawalan dipanggil paling banyak sekali dalam 500 milisaat.

See all articles