Heim > Web-Frontend > js-Tutorial > Vue uto Routing nach Dateistruktur

Vue uto Routing nach Dateistruktur

WBOY
Freigeben: 2024-07-29 01:28:23
Original
763 Leute haben es durchsucht

Eines meiner Probleme bei der Arbeit mit VueJS ist das Erstellen von Routen, insbesondere wenn das Projekt größer wird und es zu einem Problem wird, Ihre route.ts oder route.js zu verwalten. Ich erinnere mich noch an ein Projekt, das zu viele Seiten hat, sodass Sie Ihre Routen aktualisieren müssen, wenn Sie eine neue Seite erstellen, und Sie müssen Ihre Routendatei jedes Mal aktualisieren, wenn Sie eine Seite entfernen, nur um zu vermeiden, dass Fehler angezeigt werden.

Also begann ich nach einer Möglichkeit zu suchen, das automatische Routing dateibasiert zu gestalten. Der Versuch, in Google zu suchen, war schwer zu finden, da die meisten Ergebnisse, die ich im Internet gefunden habe, sich hauptsächlich auf Webpack und Version 2 beziehen. Also musste ich es in der Vue Github-Repo-Diskussion fragen und bekam eine Antwort.

Wir stellen vor: Unplugin Vue Router. Dies ist ein typisiertes, dateibasiertes Routing für Vue 3. Und es ist tatsächlich einfach einzurichten. Dies ist experimentell, wie sie in ihrer Github-Readme-Datei angegeben haben.

Erstellen wir zunächst unser Vue-Projekt von Grund auf. Wie wir alle wissen, können wir durch Ausführen dieses Befehls ein Projekt erstellen und dann einige Optionen beantworten. Wenn Sie nicht wissen, wie es geht, können Sie sich den Schnellstart auf der VueJs-Seite ansehen.

pnpm create vue@latest
Nach dem Login kopieren

In diesem Beispiel habe ich das Projekt so erstellt.

pnpm create vue@latest

Vue.js - The Progressive JavaScript Framework

√ Project name: ... vue-auto-route
√ Add TypeScript? ... No / Yes
√ Add JSX Support? ... No / Yes
√ Add Vue Router for Single Page Application development? ... No / Yes
√ Add Pinia for state management? ... No / Yes
√ Add Vitest for Unit Testing? ... No / Yes
√ Add an End-to-End Testing Solution? » No
√ Add ESLint for code quality? ... No / Yes
√ Add Vue DevTools 7 extension for debugging? (experimental) ... No / Yes

Scaffolding project in D:\Projects\Testing\vue-auto-route...

Done. Now run:

  cd vue-auto-route
  pnpm install
  pnpm dev
Nach dem Login kopieren

Wir werden uns für Select TypeScript entscheiden. Ich habe den Router auch aktiviert, damit er automatisch Seiten für mich neu generiert.

Lassen Sie uns zu unserem Projekt wechseln und die Abhängigkeiten installieren. Abhängig von Ihrem verwendeten Paketmanager können Sie ihn also verwenden. Für mich selbst verwende ich das PNPM, das mir langsam gefällt. Sobald unser Projekt erstellt ist, müssen wir nun „unplugin-vue-router“ installieren.

pnpm add -D unplugin-vue-router
Nach dem Login kopieren

Jetzt aktualisieren wir vite.config.ts. Stellen Sie sicher, dass Sie das Plugin in Index 0 einfügen.

import { fileURLToPath, URL } from "node:url";
import VueRouter from "unplugin-vue-router/vite";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        VueRouter({
            /* options */
        }),
        // ⚠️ Vue must be placed after VueRouter()
        vue(),
    ],
    resolve: {
        alias: {
            "@": fileURLToPath(new URL("./src", import.meta.url)),
        },
    },

});
Nach dem Login kopieren

Als nächstes aktualisieren wir env.d.ts, damit unser Editor die Typen für unser Paket leicht finden kann.

/// <reference types="vite/client" />
/// <reference types="unplugin-vue-router/client" />
Nach dem Login kopieren

Dann aktualisieren wir unsere Router index.ts in src/router/index.ts.

import { createRouter, createWebHistory } from "vue-router";
import { routes, handleHotUpdate } from "vue-router/auto-routes";

const router = createRouter({
    history: createWebHistory(import.meta.env.BASE_URL),
    routes,
});

if (import.meta.hot) {
    handleHotUpdate(router);
}

export default router;
Nach dem Login kopieren

Da nun alles erledigt ist, können wir nun das Verzeichnis src/pages erstellen. In diesem Ordner oder Verzeichnis fügen wir unsere Seiten hinzu und es werden automatisch Routen basierend auf der Dateistruktur erstellt. Wenn Sie mit Nuxt vertraut sind, ist es in etwa so.

Lass uns eine About-Seite in srcpagesabout.vue erstellen.

<template>
    <div>This is the about page</div>
</template>
Nach dem Login kopieren

Lass uns unsere Homepage erstellen, indem wir den Index in srcpagesindex.vue verwenden.

<template>
    <div>This is Home Page</div>
</template>
Nach dem Login kopieren

Dann können wir unsere Vue-App ausführen, indem wir ein Entwicklungsskript ausführen. pnpm-Entwickler. Wenn Sie auf „Startseite“ klicken, werden Sie zur Startseite weitergeleitet. Wenn Sie auf „Über“ klicken, werden Sie zur „Info“-Seite weitergeleitet.

Jetzt ist alles für Sie vorbereitet. Wenn Sie mit der Ordnerstruktur des Routers nicht vertraut sind. Sie können dieses Dokument unter https://uvr.esm.is/guide/file-based-routing.html überprüfen.

Versuchen wir, eine Slug-Komponente wie src/pages/blog/[id].vue mit diesem Inhalt hinzuzufügen.

<script setup>
const { id } = useRoute().params;
</script>
<template>
    <div>This is the blog post with id: {{ id }}</div>
</template>
Nach dem Login kopieren

Jetzt versuchen wir erneut, pnpm dev auszuführen. Und wenn Sie zu http://localhost:5173/blog/6 gehen, sollten Sie Folgendes erhalten.

Vue uto Routing By File Structure

Erstaunlich, oder? Ich hoffe, dieser kurze Blog hat Ihnen auf Ihrer VueJS-Reise geholfen. Ich wünsche Ihnen einen schönen Tag.

Wenn Ihnen dieser Artikel gefällt und Sie Ihre Unterstützung zeigen möchten, können Sie dies ganz einfach tun, indem Sie mir einen Kaffee spendieren. Ihr Beitrag wird sehr geschätzt!


Wenn Ihnen dieser Artikel gefällt und Sie Ihre Unterstützung zeigen möchten, können Sie dies ganz einfach tun, indem Sie mir einen Kaffee spendieren. Ihr Beitrag wird sehr geschätzt!

Vue uto Routing By File Structure

Das obige ist der detaillierte Inhalt vonVue uto Routing nach Dateistruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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