Heim > Web-Frontend > View.js > Bringen Sie Ihnen 5 Wissenspunkte bei, um die Vue3-Entwicklung reibungsloser zu gestalten

Bringen Sie Ihnen 5 Wissenspunkte bei, um die Vue3-Entwicklung reibungsloser zu gestalten

WBOY
Freigeben: 2022-02-18 17:12:35
nach vorne
2324 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen Wissen über die Entwicklung in Vue und stellt 5 Tipps zusammen, die die Entwicklungseffizienz verbessern und die Entwicklung Ihres Vue3-Projekts immer reibungsloser machen können. Ich hoffe, dass er für alle hilfreich ist.

Bringen Sie Ihnen 5 Wissenspunkte bei, um die Vue3-Entwicklung reibungsloser zu gestalten

1. Verbesserung des Setup-Namens

Der Setup-Syntax-Zucker von Vue3 ist eine gute Sache, aber das erste Problem, das durch die Verwendung der Setup-Syntax verursacht wird, besteht darin, dass der Name nicht angepasst werden kann, und wenn wir Keep-Alive verwenden, benötigen wir oft einen Dieses Problem wird normalerweise durch das Schreiben von zwei Skript-Tags gelöst, eines mit Setup und eines nicht, aber das ist definitiv nicht elegant genug.

<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>
Nach dem Login kopieren

Mit Hilfe des Plug-Ins vite-plugin-vue-setup-extend können wir dieses Problem eleganter lösen, anstatt zwei Skript-Tags zu schreiben, können wir den Namen direkt auf dem Skript-Tag definieren .

Installation

npm i vite-plugin-vue-setup-extend -D
Nach dem Login kopieren

Konfiguration

// vite.config.ts
import { defineConfig } from &#39;vite&#39;
import VueSetupExtend from &#39;vite-plugin-vue-setup-extend&#39;
export default defineConfig({
  plugins: [
    VueSetupExtend()
  ]
})
Nach dem Login kopieren

Verwendung

<script setup name="OrderList">
import { onMounted } from &#39;vue&#39;
onMounted(() => {
  console.log(&#39;mounted===&#39;)
})
</script>
Nach dem Login kopieren

2. Die API-Syntax für den automatischen Import ermöglicht es uns, sie auf der Vorlage zu verwenden, ohne Variablen und Methoden einzeln zurückzugeben unsere Hände. Für einige häufig verwendete VueAPIs wie Ref, Computed, Watch usw. müssen wir sie jedoch jedes Mal manuell auf die Seite importieren.

Wir können einen automatischen Import durch Unplugin-Auto-Import realisieren, und Sie können die Vue-API in der Datei verwenden, ohne sie zu importieren.

Installation

npm i unplugin-auto-import -D
Nach dem Login kopieren

Konfiguration

// 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;]
    })
  ]
})
Nach dem Login kopieren
Die Datei auto-imports.d.ts wird nach der Installation und Konfiguration automatisch generiert.

// 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 {}
Nach dem Login kopieren

Verwenden Sie

<script setup name="OrderList">
// 不用import,直接使用ref
const count = ref(0)
onMounted(() => {
  console.log(&#39;mounted===&#39;)
})
</script>
Nach dem Login kopieren
Oben haben wir nur Vue in die Konfiguration von vite.config.ts importiert, Importe: ['vue']. ​​​​Zusätzlich zu Vue können Sie auch andere importieren, z. B. Vue-Router und vue gemäß der Dokumentation.

Persönlich wird empfohlen, nur einige bekannte APIs automatisch zu importieren. Beispielsweise sind wir mit der Vue-API während der Entwicklung vertraut und können sie mit geschlossenen Augen schreiben. Für einige unbekannte Bibliotheken wie VueUse ist es besser, den Import zu verwenden. Es ist besser, schließlich verfügt der Editor über Eingabeaufforderungen, sodass es nicht leicht ist, Fehler zu machen.

Lösung des Problems der Eslint-Fehlerberichterstattung

Die Verwendung ohne Import führt dazu, dass Eslint eine Fehlermeldung auslöst. Dies kann durch die Installation des Plug-Ins **vue-global-api** in eslintrc.js gelöst werden.

// 安装依赖
npm i vue-global-api -D
// eslintrc.js
module.exports = {
  extends: [
    &#39;vue-global-api&#39;
  ]
}
Nach dem Login kopieren

3. Abschied von .value

Wie wir alle wissen, erfordert Ref, dass wir beim Zugriff auf Variablen .value hinzufügen, was vielen Entwicklern ein Unbehagen bereitet.

let count = ref(1)
const addCount = () => {
  count.value += 1
}
Nach dem Login kopieren

Später hat You Dada auch einen neuen Ref-Syntax-Zuckervorschlag eingereicht.

ref: count = 1
const addCount = () => {
  count += 1
}
Nach dem Login kopieren

Dieser Vorschlag hat schon seit seiner Veröffentlichung in der Community für große Diskussionen gesorgt, deshalb werde ich hier keinen Unsinn mehr über dieses Thema reden.

Was ich hier vorstelle, ist eine andere Schreibweise, die später auch eine offizielle Lösung ist. Fügen Sie $ vor Ref hinzu. Diese Funktion ist standardmäßig deaktiviert und muss manuell aktiviert werden.

// 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转换
    })
  ]
})
Nach dem Login kopieren

Nach dem Einschalten können Sie Folgendes schreiben:

let count = $ref(1)
const addCount = () => {
  count++
}
Nach dem Login kopieren

Die Konfiguration dieses Syntaxzuckers unterscheidet sich je nach Version geringfügig. Hier ist die Version des relevanten Plug-Ins, das ich verwende:

"vue": "^3.2.2",
"@vitejs/plugin-vue": "^1.9.0",
"@vue/compiler-sfc": "^3.2.5",
"vite": "^2.6.13"
Nach dem Login kopieren

4 Bilder importieren

In Vue2 werden Bilder oft so zitiert:

<img :src="require(&#39;@/assets/image/logo.png&#39;)" />
Nach dem Login kopieren

Aber require wird in Vite nicht unterstützt. Die Bildreferenz lautet wie folgt:

<template>
  <img :src="Logo" />
</template>
<script setup>
import Logo from &#39;@/assets/image/logo.png&#39;
</script>
Nach dem Login kopieren

Jedes Mal, wenn Sie das Bild verwenden, müssen Sie es importieren, was natürlich der Fall ist verzögert die Zeit aller zum Angeln. Zu diesem Zeitpunkt können wir vite-plugin-vue-images verwenden, um Bilder automatisch zu importieren.

Erfrischend, aber es kann leicht zu Variablenkonflikten kommen, also mit Vorsicht verwenden!

Installation: Entwicklung von Vue2. In Vite führt das Ignorieren des Suffixes .vue jedoch zu einem Fehler.

npm i vite-plugin-vue-images -D
Nach dem Login kopieren
Laut der Antwort von You Dada ist die Anforderung, Suffixe zu schreiben, tatsächlich absichtlich so gestaltet, das heißt, jeder wird ermutigt, so zu schreiben.

Aber wenn Sie wirklich nicht schreiben möchten, steht Ihnen die offizielle Unterstützung zur Verfügung.

// 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;] // 指明图片存放目录
    })
  ]
})
Nach dem Login kopieren
Hier ist zu beachten, dass Sie beim manuellen Konfigurieren von Erweiterungen daran denken müssen, das Suffix anderer Dateitypen hinzuzufügen, da andere Dateitypen wie js den Suffiximport standardmäßig ignorieren können von anderen Dateitypen wird ein Suffix hinzugefügt. Obwohl Sie dies tun können, heißt es in der offiziellen Dokumentation schließlich, dass es nicht empfohlen wird, das .vue-Suffix zu ignorieren. Daher wird empfohlen, .vue in der tatsächlichen Entwicklung immer noch ehrlich zu schreiben.

【Verwandte Empfehlung: „vue.js Tutorial

“】

Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen 5 Wissenspunkte bei, um die Vue3-Entwicklung reibungsloser zu gestalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
vue
Quelle:juejin.im
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage