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

Beispielcode des Vue-Symbolselektors

Quelle: http://www.ruoyi.vip/ Vue von „vue“ impor...

Wie gestaltet man eine Webseite? Wie erstelle ich eine Webseite?

Wenn es um das Verständnis von Webdesign geht, sc...

Detaillierte Erklärung der Docker-Einstiegspunktdatei

Schließen Sie beim Schreiben einer Docker-Datei e...

So übergeben Sie Parameter über CSS an JS

1. Hintergrund, der durch CSS übergeben werden mu...

10 Gründe, warum Linux immer beliebter wird

Linux wird von immer mehr Benutzern geliebt. Waru...

Detaillierte Erläuterung der SSHD-Dienste und Dienstverwaltungsbefehle unter Linux

sshd SSH ist die Abkürzung für Secure Shell, ein ...

So löschen Sie die MySQL-Registrierung

Spezifische Methode: 1. Drücken Sie [ Win+R ], um...

Erläuterung des Menüs „Entwicklertools“ in IE8

<br />In diesem Artikel wurden die verschied...

Verwendung von „Select“, „Distinct“ und „Limit“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. auswählen 2.1...

Typische Fälle von MySQL-Indexfehlern

Inhaltsverzeichnis Typische Fälle Anhang: Häufige...

js zur Realisierung der Web-Message-Board-Funktion

In diesem Artikelbeispiel wird der spezifische JS...