Implementierung des Vue 3.x-Projekts basierend auf Vite2.x

Implementierung des Vue 3.x-Projekts basierend auf Vite2.x

Erstellen eines Vue 3.x-Projekts

npm init @vitejs/app meine-vue-app --Vorlage
 

Einführung von Router 4.x

npm installiere vue-router@4 --save

Konfigurieren von Routen

Fügen Sie im Verzeichnis einen Router-Ordner hinzu und erstellen Sie index.js

Router 4.x stellt uns createRouter anstelle des neuen VueRouters in Router 3.x zum Erstellen von Routen zur Verfügung.

// Router 4.x
importiere { createRouter, createWebHashHistory, RouteRecordRaw } von „vue-router“;
const routes: Array<RouteRecordRaw> = [
  {
    Weg: "/",
    Name: "Home",
    Komponente: () => import("../views/Home/index.vue"),
  },
  {
    Pfad: "/login",
    Name: "Login",
    Komponente: () => import("../views/Login/index.vue"),
  },
];
const router = createRouter({
  Verlauf: createWebHashHistory(),
  Routen
});
Standardrouter exportieren;

Router 4.x stellt uns die Methoden createWebHashHistory und createWebHistory zur Verfügung, um den Hash-Modus und den Verlaufsmodus festzulegen.

const router = createRouter({
  Verlauf: createWebHashHistory(), // Hash-Modus Verlauf: createWebHistory(), // Verlaufsmodus });

Relative Pfadkonfiguration

Im vorherigen VueCli profitierten wir vom Verpackungstool WebPack und konnten bestimmte Symbole direkt verwenden, um den aktuellen Pfad darzustellen. In ähnlicher Weise stellt uns Vite auch die Eigenschaft resolve.alias zur Verfügung.

// vite.config.ts
importiere { defineConfig } von 'vite'
vue aus '@vitejs/plugin-vue' importieren
const { lösen } = erfordern ('Pfad')

// https://vitejs.dev/config/
exportiere Standard-DefineConfig({
  Plugins: [vue()],
  // Relativen Pfad definieren, @ ersetzt resolve: {
    Alias: {
      '@': auflösen(__dirname, 'src')
    }
  }
})

Vuex importieren

Erstellen Sie nach der Einführung von Vuex eine neue Datei src/store/index.ts im Verzeichnis.

npm ich vuex@next --speichern

Vant Einführung

herunterladen

npm installiere vant@next --save

Die Vite-Version muss das Laden von Komponenten bei Bedarf nicht konfigurieren, da alle Module in Vant 3.0 auf der Grundlage von ESM geschrieben sind und natürlich bei Bedarf eingeführt werden können, jedoch alle Stile eingeführt werden müssen.

//main.ts
importiere { createApp } von "vue";
App aus "./App.vue" importieren;
Router aus "./router" importieren;
Store aus "./store" importieren;
importiere Vant von „Vant“;
importiere "vant/lib/index.css"; // Globaler Importstil createApp(App).use(router).use(store).use(Vant).mount("#app");

Da in Vue 3.x die Setup-Funktion hinzugefügt wird, diese im Setup jedoch auf undefiniert verweist, können einige globale Methoden von Vant nicht verwendet werden.

<Vorlage>
   <div>
      <van-nav-bar title="Titel" left-text="Zurück" right-text="Schaltfläche" linker Pfeil fixiert @click-left="onClickLeft" @click-right="onClickRight" />
      <van-nav-bar title="Titel" left-text="Zurück" right-text="Schaltfläche" left-arrow @click-left="onClickLeft" @click-right="onClickRight" />
   </div>
</Vorlage>

<script lang="ts">
importiere { defineComponent } von "vue";

exportiere StandarddefiniereKomponente({
   aufstellen() {
      const onClickLeft = () => Toast("Zurück");
      const onClickRight = () => Toast("Schaltfläche");
      zurückkehren {
         bei Klick nach links,
         beiKlickRechts,
      };
   },
});
</Skript>

Im obigen Beispiel ist Toast nicht definiert, da nach der globalen Anwendung von Vant nicht lokal darauf verwiesen werden kann, da Vite sonst einen Fehler meldet.

Dieses Problem kann gelöst werden, indem eine Tool-Klasse geschrieben wird, um Toast erneut zu kapseln.

// utils/util.ts
// Einfaches Popup-Fenster importiere { Toast } von „Vant“;
export const toast = (Text: Zeichenfolge) => {
  Toast (Text);
};
importiere { defineComponent } von "vue";
importiere { toast } von "@/utils/util";

exportiere StandarddefiniereKomponente({
   aufstellen() {
      const onClickLeft = () => toast("Zurück");
      const onClickRight = () => toast("Schaltfläche");
      zurückkehren {
         bei Klick nach links,
         beiKlickRechts,
      };
   }
});

Dies ist das Ende dieses Artikels über die Konstruktion und Implementierung des Vue 3.x-Projekts basierend auf Vite2.x. Weitere relevante Inhalte zur Konstruktion von Vite und Vue3-Projekten finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vite+Electron zum schnellen Erstellen von VUE3-Desktopanwendungen
  • So fügen Sie Vite-Unterstützung zu alten Vue-Projekten hinzu
  • Detaillierte Erläuterung des mobilen Projekts vite2.0 + vue3
  • So verwenden Sie vite zum Erstellen einer Vue3-Anwendung
  • Was wir über Vue3 und Vite zu sagen haben

<<:  Tutorial-Diagramm zur Verwendung von Jenkins für die automatisierte Bereitstellung unter Windows

>>:  Grafisches Tutorial zur kostenlosen Installationsversion von MySQL 5.7.21 winx64

Artikel empfehlen

Detaillierte Erklärung des Initialisierungsmechanismus in Bash

Bash-Initialisierungsdateien Interaktive Login-Sh...

React Native JSI implementiert Beispielcode für RN und native Kommunikation

Inhaltsverzeichnis Was ist JSI Was ist anders an ...

Benutzerdefinierte Docker-Netzwerkcontainer-Verbindung

Inhaltsverzeichnis Vorwort -Link Benutzerdefinier...

Detaillierte Analyse der HTML-Semantik und der zugehörigen Front-End-Frameworks

Über Semantik Die Semantik ist die Lehre von der ...

Detaillierte Erklärung des Vue-Slots

1. Funktion : Ermöglicht der übergeordneten Kompo...

mysql5.7-Remotezugriffseinstellungen

Das Einrichten des Fernzugriffs in mysql5.7 funkt...

Umfassendes Verständnis der Überwachung von HTML-Formulareingaben

Heute habe ich einen Blogbeitrag über Eingabeerei...

Spezifische Verwendung globaler Variablen von node.js

Globales Objekt Alle Module können aufgerufen wer...

Lernen Sie die Grundlagen von nginx

Inhaltsverzeichnis 1. Was ist nginx? 2. Was kann ...

Detaillierte Erläuterung der Kapselung von JavaScript-Animationsfunktionen

Inhaltsverzeichnis 1. Prinzip der Animationsfunkt...

Tabelle Tag (Tabelle) Im Detail

<br />Tabelle ist ein Tag, das schon seit la...